Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.c++/ctor-5.C @ 22:0eb6cac880f0
add cbc example of quicksort.
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 13 Oct 2009 17:15:58 +0900 |
parents | a06113de4d67 |
children |
line wrap: on
line source
// { dg-do run } // { dg-require-effective-target tls_runtime } #include <omp.h> #include <assert.h> struct B { static int count; static B *expected; B& operator=(const B &); }; int B::count; B * B::expected; static B thr; #pragma omp threadprivate(thr) B& B::operator= (const B &b) { assert (&b == expected); assert (this != expected); #pragma omp atomic count++; return *this; } static int nthreads; void foo() { B::expected = &thr; #pragma omp parallel copyin(thr) { #pragma omp master nthreads = omp_get_num_threads (); } } int main() { omp_set_dynamic (0); omp_set_num_threads (4); foo(); assert (B::count == nthreads-1); return 0; }