test: 修复llvm升级导致tdd用例部分失败问题
方案描述: 1、llvm升级之后对while(1)死循环和给空指针赋值的场景有错误优化的情况; 用例中在相关函数之前添加__attribute__((optnone))禁止编译器进行错误优化。 Close:#I6V2LN Signed-off-by: zhangdengyu <zhangdengyu2@huawei.com> Change-Id: Ic7150909c12a599aeeb0a55b983dfad7a0631cdc
This commit is contained in:
@@ -30,7 +30,7 @@
|
||||
*/
|
||||
#include "It_posix_queue.h"
|
||||
|
||||
static VOID *PthreadF01(VOID *argument)
|
||||
__attribute__((optnone)) static VOID *PthreadF01(VOID *argument)
|
||||
{
|
||||
INT32 i;
|
||||
INT32 ret;
|
||||
@@ -54,7 +54,7 @@ EXIT:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static VOID *PthreadF02(VOID *argument)
|
||||
__attribute__((optnone)) static VOID *PthreadF02(VOID *argument)
|
||||
{
|
||||
INT32 j, ret;
|
||||
|
||||
@@ -79,7 +79,7 @@ EXIT:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static UINT32 Testcase(VOID)
|
||||
__attribute__((optnone)) static UINT32 Testcase(VOID)
|
||||
{
|
||||
pthread_t newTh1, newTh2;
|
||||
UINT32 ret;
|
||||
|
||||
@@ -53,7 +53,6 @@ EXIT:
|
||||
static UINT32 Testcase(VOID)
|
||||
{
|
||||
INT32 ret;
|
||||
UINT32 uret;
|
||||
CHAR mqname[MQUEUE_STANDARD_NAME_LENGTH] = "";
|
||||
const CHAR *msgptr = MQUEUE_SEND_STRING_TEST;
|
||||
pthread_t pthread1;
|
||||
@@ -92,7 +91,6 @@ static UINT32 Testcase(VOID)
|
||||
ICUNIT_GOTO_EQUAL(ret, MQUEUE_NO_ERROR, ret, EXIT2);
|
||||
|
||||
usleep(0);
|
||||
ICUNIT_GOTO_EQUAL(uret, MQUEUE_NO_ERROR, uret, EXIT2);
|
||||
|
||||
ret = pthread_join(pthread1, NULL);
|
||||
ICUNIT_GOTO_EQUAL(ret, MQUEUE_NO_ERROR, ret, EXIT2);
|
||||
|
||||
Reference in New Issue
Block a user