Commit ce18a733 authored by Sebastian Lackner's avatar Sebastian Lackner Committed by Alexandre Julliard

vcomp: Implement stub for _vcomp_flush and add tests.

parent bd7f43d7
...@@ -501,6 +501,11 @@ void CDECL omp_set_num_threads(int num_threads) ...@@ -501,6 +501,11 @@ void CDECL omp_set_num_threads(int num_threads)
vcomp_num_threads = num_threads; vcomp_num_threads = num_threads;
} }
void CDECL _vcomp_flush(void)
{
TRACE("(): stub\n");
}
void CDECL _vcomp_barrier(void) void CDECL _vcomp_barrier(void)
{ {
struct vcomp_team_data *team_data = vcomp_init_thread_data()->team; struct vcomp_team_data *team_data = vcomp_init_thread_data()->team;
......
...@@ -52,6 +52,7 @@ static void (CDECL *p_vcomp_atomic_sub_r8)(double *dest, double val); ...@@ -52,6 +52,7 @@ static void (CDECL *p_vcomp_atomic_sub_r8)(double *dest, double val);
static void (CDECL *p_vcomp_atomic_xor_i4)(int *dest, int val); static void (CDECL *p_vcomp_atomic_xor_i4)(int *dest, int val);
static void (CDECL *p_vcomp_barrier)(void); static void (CDECL *p_vcomp_barrier)(void);
static void (CDECL *p_vcomp_enter_critsect)(CRITICAL_SECTION **critsect); static void (CDECL *p_vcomp_enter_critsect)(CRITICAL_SECTION **critsect);
static void (CDECL *p_vcomp_flush)(void);
static void (CDECL *p_vcomp_for_dynamic_init)(unsigned int flags, unsigned int first, unsigned int last, static void (CDECL *p_vcomp_for_dynamic_init)(unsigned int flags, unsigned int first, unsigned int last,
int step, unsigned int chunksize); int step, unsigned int chunksize);
static int (CDECL *p_vcomp_for_dynamic_next)(unsigned int *begin, unsigned int *end); static int (CDECL *p_vcomp_for_dynamic_next)(unsigned int *begin, unsigned int *end);
...@@ -233,6 +234,7 @@ static BOOL init_vcomp(void) ...@@ -233,6 +234,7 @@ static BOOL init_vcomp(void)
VCOMP_GET_PROC(_vcomp_atomic_xor_i4); VCOMP_GET_PROC(_vcomp_atomic_xor_i4);
VCOMP_GET_PROC(_vcomp_barrier); VCOMP_GET_PROC(_vcomp_barrier);
VCOMP_GET_PROC(_vcomp_enter_critsect); VCOMP_GET_PROC(_vcomp_enter_critsect);
VCOMP_GET_PROC(_vcomp_flush);
VCOMP_GET_PROC(_vcomp_for_dynamic_init); VCOMP_GET_PROC(_vcomp_for_dynamic_init);
VCOMP_GET_PROC(_vcomp_for_dynamic_next); VCOMP_GET_PROC(_vcomp_for_dynamic_next);
VCOMP_GET_PROC(_vcomp_for_static_end); VCOMP_GET_PROC(_vcomp_for_static_end);
...@@ -1276,6 +1278,13 @@ static void test_vcomp_enter_critsect(void) ...@@ -1276,6 +1278,13 @@ static void test_vcomp_enter_critsect(void)
pomp_set_num_threads(max_threads); pomp_set_num_threads(max_threads);
} }
static void test_vcomp_flush(void)
{
p_vcomp_flush();
p_vcomp_flush();
p_vcomp_flush();
}
static void test_atomic_integer32(void) static void test_atomic_integer32(void)
{ {
struct struct
...@@ -1395,6 +1404,7 @@ START_TEST(vcomp) ...@@ -1395,6 +1404,7 @@ START_TEST(vcomp)
test_vcomp_master_begin(); test_vcomp_master_begin();
test_vcomp_single_begin(); test_vcomp_single_begin();
test_vcomp_enter_critsect(); test_vcomp_enter_critsect();
test_vcomp_flush();
test_atomic_integer32(); test_atomic_integer32();
test_atomic_float(); test_atomic_float();
test_atomic_double(); test_atomic_double();
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
@ stub _vcomp_copyprivate_broadcast @ stub _vcomp_copyprivate_broadcast
@ stub _vcomp_copyprivate_receive @ stub _vcomp_copyprivate_receive
@ cdecl _vcomp_enter_critsect(ptr) @ cdecl _vcomp_enter_critsect(ptr)
@ stub _vcomp_flush @ cdecl _vcomp_flush()
@ cdecl _vcomp_for_dynamic_init(long long long long long) @ cdecl _vcomp_for_dynamic_init(long long long long long)
@ stub _vcomp_for_dynamic_init_i8 @ stub _vcomp_for_dynamic_init_i8
@ cdecl _vcomp_for_dynamic_next(ptr ptr) @ cdecl _vcomp_for_dynamic_next(ptr ptr)
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
@ stub _vcomp_copyprivate_broadcast @ stub _vcomp_copyprivate_broadcast
@ stub _vcomp_copyprivate_receive @ stub _vcomp_copyprivate_receive
@ cdecl _vcomp_enter_critsect(ptr) vcomp._vcomp_enter_critsect @ cdecl _vcomp_enter_critsect(ptr) vcomp._vcomp_enter_critsect
@ stub _vcomp_flush @ cdecl _vcomp_flush() vcomp._vcomp_flush
@ cdecl _vcomp_for_dynamic_init(long long long long long) vcomp._vcomp_for_dynamic_init @ cdecl _vcomp_for_dynamic_init(long long long long long) vcomp._vcomp_for_dynamic_init
@ stub _vcomp_for_dynamic_init_i8 @ stub _vcomp_for_dynamic_init_i8
@ cdecl _vcomp_for_dynamic_next(ptr ptr) vcomp._vcomp_for_dynamic_next @ cdecl _vcomp_for_dynamic_next(ptr ptr) vcomp._vcomp_for_dynamic_next
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
@ stub _vcomp_copyprivate_broadcast @ stub _vcomp_copyprivate_broadcast
@ stub _vcomp_copyprivate_receive @ stub _vcomp_copyprivate_receive
@ cdecl _vcomp_enter_critsect(ptr) vcomp._vcomp_enter_critsect @ cdecl _vcomp_enter_critsect(ptr) vcomp._vcomp_enter_critsect
@ stub _vcomp_flush @ cdecl _vcomp_flush() vcomp._vcomp_flush
@ cdecl _vcomp_for_dynamic_init(long long long long long) vcomp._vcomp_for_dynamic_init @ cdecl _vcomp_for_dynamic_init(long long long long long) vcomp._vcomp_for_dynamic_init
@ stub _vcomp_for_dynamic_init_i8 @ stub _vcomp_for_dynamic_init_i8
@ cdecl _vcomp_for_dynamic_next(ptr ptr) vcomp._vcomp_for_dynamic_next @ cdecl _vcomp_for_dynamic_next(ptr ptr) vcomp._vcomp_for_dynamic_next
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
@ stub _vcomp_copyprivate_broadcast @ stub _vcomp_copyprivate_broadcast
@ stub _vcomp_copyprivate_receive @ stub _vcomp_copyprivate_receive
@ cdecl _vcomp_enter_critsect(ptr) vcomp._vcomp_enter_critsect @ cdecl _vcomp_enter_critsect(ptr) vcomp._vcomp_enter_critsect
@ stub _vcomp_flush @ cdecl _vcomp_flush() vcomp._vcomp_flush
@ cdecl _vcomp_for_dynamic_init(long long long long long) vcomp._vcomp_for_dynamic_init @ cdecl _vcomp_for_dynamic_init(long long long long long) vcomp._vcomp_for_dynamic_init
@ stub _vcomp_for_dynamic_init_i8 @ stub _vcomp_for_dynamic_init_i8
@ cdecl _vcomp_for_dynamic_next(ptr ptr) vcomp._vcomp_for_dynamic_next @ cdecl _vcomp_for_dynamic_next(ptr ptr) vcomp._vcomp_for_dynamic_next
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment