8 /****************************************************************************/
9 #pragma warning( disable : 4127 ) // TRD : disables MSVC warning for condition expressions being const
11 void test_lfds700_list_aos_alignment()
13 enum lfds700_misc_validity
14 dvs = LFDS700_MISC_VALIDITY_VALID;
16 /* TRD : these are compile time checks
17 but we do them here because this is a test programme
18 and it should indicate issues to users when it is *run*,
19 not when it is compiled, because a compile error normally
20 indicates a problem with the code itself and so is misleading
23 internal_display_test_name( "Alignment" );
27 // TRD : struct lfds700_list_aos_element
28 if( offsetof(struct lfds700_list_aos_element,next) % LFDS700_PAL_ATOMIC_ISOLATION_IN_BYTES != 0 )
29 dvs = LFDS700_MISC_VALIDITY_INVALID_TEST_DATA;
31 if( offsetof(struct lfds700_list_aos_element,value) % LFDS700_PAL_ATOMIC_ISOLATION_IN_BYTES != 0 )
32 dvs = LFDS700_MISC_VALIDITY_INVALID_TEST_DATA;
34 if( offsetof(struct lfds700_list_aos_element,key) % LFDS700_PAL_ATOMIC_ISOLATION_IN_BYTES != 0 )
35 dvs = LFDS700_MISC_VALIDITY_INVALID_TEST_DATA;
39 // TRD : struct lfds700_list_asu_state
40 if( offsetof(struct lfds700_list_aos_state,start) % LFDS700_PAL_ATOMIC_ISOLATION_IN_BYTES != 0 )
41 dvs = LFDS700_MISC_VALIDITY_INVALID_TEST_DATA;
43 if( offsetof(struct lfds700_list_aos_state,dummy_element) % LFDS700_PAL_ATOMIC_ISOLATION_IN_BYTES != 0 )
44 dvs = LFDS700_MISC_VALIDITY_INVALID_TEST_DATA;
46 if( offsetof(struct lfds700_list_aos_state,key_compare_function) % LFDS700_PAL_ATOMIC_ISOLATION_IN_BYTES != 0 )
47 dvs = LFDS700_MISC_VALIDITY_INVALID_TEST_DATA;
51 // TRD : print the test result
52 internal_display_test_result( 1, "list_aos", dvs );
57 #pragma warning( default : 4127 )