Here is your code:
chen wrote:int main()
#pragma omp private(test)
#pragma omp for
for (i=0; i < NUM; i++)
test = allocnew(sizeof(double)*10);
First, the line "#pragma omp private(test)" is illegal OpenMP. Your compiler should have issued a diagnostic. You probably meant "#pragma omp parallel private(test)"
Second, if the allocnew() function is not threadsafe, then you will get unpredictable results. The C function malloc() is threadsafe. It may not give good performance when called in parallel because of internal locking; this is very system dependent.
Also, your code doesn't really do anything useful, which is OK, but it does have a memory leak (it would have a memory leak even if it didn't have any OpenMP directives).