mirror of git://gcc.gnu.org/git/gcc.git
27 lines
425 B
C
27 lines
425 B
C
/* { dg-do compile } */
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
float
|
|
read_next ()
|
|
{
|
|
float *tmp;
|
|
float return_val;
|
|
#pragma omp single copyprivate(tmp)
|
|
{
|
|
tmp = (float *) malloc (sizeof (float));
|
|
} /* copies the pointer only */
|
|
#pragma omp master
|
|
{
|
|
scanf ("%f", tmp);
|
|
}
|
|
#pragma omp barrier
|
|
return_val = *tmp;
|
|
#pragma omp barrier
|
|
#pragma omp single nowait
|
|
{
|
|
free (tmp);
|
|
}
|
|
return return_val;
|
|
}
|