mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-08 21:09:49 +00:00
Added two additional regression tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11095
This commit is contained in:
37
drd/tests/annotate_static.cpp
Normal file
37
drd/tests/annotate_static.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// Test for ANNOTATE_BENIGN_RACE_STATIC() and ANNOTATE_UNPROTECTED_READ().
|
||||
|
||||
|
||||
#include <pthread.h> /* pthread_create() */
|
||||
#include <stdio.h> /* fprintf() */
|
||||
#include "../../drd/drd.h"
|
||||
|
||||
|
||||
/* Local variables. */
|
||||
|
||||
static int s_i;
|
||||
static volatile int s_j;
|
||||
|
||||
ANNOTATE_BENIGN_RACE_STATIC(s_i, "Benign because duplicate assignment.");
|
||||
|
||||
|
||||
/* Local functions. */
|
||||
|
||||
static void* thread_func(void*)
|
||||
{
|
||||
s_i = ANNOTATE_UNPROTECTED_READ(s_j);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
pthread_t tid;
|
||||
|
||||
pthread_create(&tid, 0, thread_func, NULL);
|
||||
s_j++;
|
||||
s_i = s_j;
|
||||
pthread_join(tid, NULL);
|
||||
|
||||
fprintf(stderr, "Done.\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user