OpenMP et #pragma omp atomique

J'ai un problème avec OpenMP. MSVS compilateur me jette "pragma omp atomique a une forme incorrecte".
Je n'ai aucune idée de pourquoi.
Code: (programme nomme PI numéro à l'aide des intégrales de la méthode)

#include <stdio.h>
#include <time.h>
#include <omp.h>

long long num_steps = 1000000000;
double step;

int main(int argc, char* argv[])
{
    clock_t start, stop;
    double x, pi, sum=0.0;
    int i;
    step = 1./(double)num_steps;
    start = clock();

    #pragma omp parallel for
    for (i=0; i<num_steps; i++)
    { 
        x = (i + .5)*step;
        #pragma omp atomic //this part contains error
        sum = sum + 4.0/(1.+ x*x);  
    }

    pi = sum*step;
    stop = clock();

    //some printf to show results
return 0;
}

OriginalL'auteur krzakov | 2012-12-24