CCTLib
Calling-context and data-object attribution library for Intel Pin
omp_race_tn_critical.c
Go to the documentation of this file.
1
// True-negative victim: the same increment is guarded by a critical
2
// section, so no race. Same shape as the TP victim for direct comparison.
3
#include <stdio.h>
4
#include <omp.h>
5
6
static
volatile
int
counter
;
7
static
volatile
int
sink
;
8
9
int
main
(
int
argc,
char
** argv) {
10
(void)argc; (void)argv;
11
counter
= 0;
12
#pragma omp parallel num_threads(2)
13
{
14
for
(
int
i = 0; i < 1000; ++i) {
15
#pragma omp critical
16
counter
++;
17
}
18
}
19
sink
=
counter
;
20
return
0;
21
}
main
int main(int argc, char **argv)
Definition:
omp_race_tn_critical.c:9
counter
static volatile int counter
Definition:
omp_race_tn_critical.c:6
sink
static volatile int sink
Definition:
omp_race_tn_critical.c:7
tests
gtest
apps
omp_race_tn_critical.c
Generated on Wed Jul 15 2026 04:51:30 for CCTLib by
1.9.1