Commit Graph

25 Commits

Author SHA1 Message Date
Sebastian Lackner 0410cf9cbe vcomp: Implement _vcomp_get_thread_num.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
2015-10-07 21:28:49 +09:00
Sebastian Lackner 146df7dab1 vcomp: Implement OpenMP regular locking functions.
Native OpenMP also immediately terminates the process (without
exception) when calling omp_set_lock while holding the lock from the
same thread.
2015-08-18 14:30:30 +09:00
Sebastian Lackner f212a137a6 vcomp: Implement OpenMP nested locking functions.
The test marked with todo_wine suggests that native OpenMP might use a
separate counter for the nesting level. However, to implement the owner
checks required for regular locks we need to access the critical section
private members anyway.
2015-08-18 14:29:53 +09:00
Sebastian Lackner 037a079fdf vcomp: Export omp_init_nest_lock and omp_destroy_nest_lock. 2015-08-18 14:29:47 +09:00
Sebastian Lackner ce18a73304 vcomp: Implement stub for _vcomp_flush and add tests. 2015-08-18 14:29:31 +09:00
André Hentschel 15495d19ef vcomp/tests: Make float test i386 only.
amd64 and arm don't pass floats on the stack
2015-08-17 16:58:33 +09:00
André Hentschel e40970bce7 vcomp/tests: Add ARM and ARM64 arch strings. 2015-08-17 16:58:29 +09:00
André Hentschel f0b32b8d57 vcomp/tests: Comment out architecture dependent tests (shift count overflow).
Shifting more than variable width adds zeros on ARM to fill up.
2015-08-17 16:58:18 +09:00
Francois Gouget 7734de65c7 vcomp/tests: Make my_for_static_init() static. 2015-08-07 23:50:19 +09:00
Sebastian Lackner 7fd7bcf00e vcomp/tests: Add tests for _vcomp_enter_critsect and _vcomp_leave_critsect. 2015-08-07 16:11:53 +09:00
Sebastian Lackner 89b383740c vcomp/tests: Add tests for _vcomp_single_begin and _vcomp_single_end.
Yes, its intentional that the call to p_vcomp_single_end() is after the if-block.
Somehow MS made a difference here between the master and the single directive...
2015-08-07 16:10:04 +09:00
Sebastian Lackner 0ff9a68af3 vcomp/tests: Add tests for _vcomp_master_begin and _vcomp_master_end. 2015-08-07 16:09:45 +09:00
Sebastian Lackner d3c8055b48 vcomp/tests: Add tests for dynamic work scheduling. 2015-08-06 23:36:02 +09:00
Sebastian Lackner 4bcdbe0982 vcomp/tests: Print the correct variable in ok() message. 2015-07-30 11:35:54 +02:00
Sebastian Lackner dfe32d6c52 vcomp/tests: Add tests for atomic double functions. 2015-07-28 16:56:04 +02:00
Sebastian Lackner c14db31b9b vcomp/tests: Add tests for atomic float functions. 2015-07-28 16:55:38 +02:00
Sebastian Lackner c68a63e474 vcomp/tests: Add tests for 32-bit atomic integer functions. 2015-07-28 16:54:57 +02:00
Sebastian Lackner a250c0b29f vcomp/tests: Add tests for _vcomp_for_static_init. 2015-07-20 06:34:46 +02:00
Sebastian Lackner 02054a7522 vcomp/tests: Add tests for _vcomp_for_static_simple_init. 2015-07-20 06:34:31 +02:00
Sebastian Lackner bc10d127b4 vcomp: Implement omp_in_parallel and add tests. 2015-07-20 06:34:03 +02:00
Sebastian Lackner c06167b172 vcomp: Fix handling of _vcomp_fork with ifval == FALSE.
Forks with ifval == FALSE do not count as "parallel", so nested forks are
still allowed. Please note that calling _vcomp_fork(FALSE, ...) or directly
calling the callback is still different in some aspects, the synchronization
functions run in a different context for example.
2015-07-20 06:33:47 +02:00
Sebastian Lackner 889eba36e9 vcomp: Allow calls to _vcomp_sections_init outside of parallel environment. 2015-07-20 06:33:33 +02:00
Sebastian Lackner 57cbcec0c2 vcomp/tests: Add tests for vcomp sections. 2015-07-17 16:12:40 +09:00
Dan Kegel 9c9d60f020 vcomp/tests: Add additional tests for _vcomp_fork. 2015-07-17 16:11:17 +09:00
Sebastian Lackner c0a664456e vcomp/tests: Add initial tests. 2015-07-17 16:10:18 +09:00