summaryrefslogtreecommitdiffstats
path: root/testsuites/validation/tc-barrier-release.c
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/validation/tc-barrier-release.c')
-rw-r--r--testsuites/validation/tc-barrier-release.c32
1 files changed, 7 insertions, 25 deletions
diff --git a/testsuites/validation/tc-barrier-release.c b/testsuites/validation/tc-barrier-release.c
index ca13ef8a6d..4e9046f238 100644
--- a/testsuites/validation/tc-barrier-release.c
+++ b/testsuites/validation/tc-barrier-release.c
@@ -485,7 +485,6 @@ static inline RtemsBarrierReqRelease_Entry RtemsBarrierReqRelease_GetEntry(
T_TEST_CASE_FIXTURE( RtemsBarrierReqRelease, &RtemsBarrierReqRelease_Fixture )
{
RtemsBarrierReqRelease_Context *ctx;
- RtemsBarrierReqRelease_Entry entry;
size_t index;
ctx = T_fixture_context();
@@ -497,43 +496,26 @@ T_TEST_CASE_FIXTURE( RtemsBarrierReqRelease, &RtemsBarrierReqRelease_Fixture )
ctx->pcs[ 0 ] < RtemsBarrierReqRelease_Pre_Id_NA;
++ctx->pcs[ 0 ]
) {
- entry = RtemsBarrierReqRelease_GetEntry( index );
-
- if ( entry.Pre_Id_NA ) {
- ctx->pcs[ 0 ] = RtemsBarrierReqRelease_Pre_Id_NA;
- index += ( RtemsBarrierReqRelease_Pre_Id_NA - 1 )
- * RtemsBarrierReqRelease_Pre_Released_NA
- * RtemsBarrierReqRelease_Pre_Waiting_NA;
- }
-
for (
ctx->pcs[ 1 ] = RtemsBarrierReqRelease_Pre_Released_Valid;
ctx->pcs[ 1 ] < RtemsBarrierReqRelease_Pre_Released_NA;
++ctx->pcs[ 1 ]
) {
- entry = RtemsBarrierReqRelease_GetEntry( index );
-
- if ( entry.Pre_Released_NA ) {
- ctx->pcs[ 1 ] = RtemsBarrierReqRelease_Pre_Released_NA;
- index += ( RtemsBarrierReqRelease_Pre_Released_NA - 1 )
- * RtemsBarrierReqRelease_Pre_Waiting_NA;
- }
-
for (
ctx->pcs[ 2 ] = RtemsBarrierReqRelease_Pre_Waiting_Zero;
ctx->pcs[ 2 ] < RtemsBarrierReqRelease_Pre_Waiting_NA;
++ctx->pcs[ 2 ]
) {
+ RtemsBarrierReqRelease_Entry entry;
+ size_t pcs[ 3 ];
+
entry = RtemsBarrierReqRelease_GetEntry( index );
+ ++index;
+
+ memcpy( pcs, ctx->pcs, sizeof( pcs ) );
if ( entry.Pre_Waiting_NA ) {
ctx->pcs[ 2 ] = RtemsBarrierReqRelease_Pre_Waiting_NA;
- index += ( RtemsBarrierReqRelease_Pre_Waiting_NA - 1 );
- }
-
- if ( entry.Skip ) {
- ++index;
- continue;
}
RtemsBarrierReqRelease_Pre_Id_Prepare( ctx, ctx->pcs[ 0 ] );
@@ -545,7 +527,7 @@ T_TEST_CASE_FIXTURE( RtemsBarrierReqRelease, &RtemsBarrierReqRelease_Fixture )
ctx,
entry.Post_ReleasedVar
);
- ++index;
+ memcpy( ctx->pcs, pcs, sizeof( ctx->pcs ) );
}
}
}