OpenMP loop does not parallelize with continue statement in the catch block

A "continue" statement inside the "catch" block of a try/catch construct inside a for loop within an OpenMP parallel region, inhibits the compiler's ability to parallelize the OpenMP loop as shown below:

#include <iostream>
#include "omp.h"
using namespace std;
const int MAX = 6000;

int main(){

#pragma omp parallel for 
    for(int i=0; i< MAX; i++){
      try{
          cerr << "testing ... " <<endl;
      }   catch (exception& e){
            #ifdef CONTINUE
              continue;
            #endif
          }
    }
  return 0;
}

// Loop parallelizes without the "continue" statement
>icl -c -Qopenmp -Qopenmp-report2 /EHsc test.cpp
Intel® C++ Compiler XE for applications running on IA-32, Version 12.1.2.278 Build 20111128
Copyright (C) 1985-2011 Intel Corporation.  All rights reserved.

test.cpp
test.cpp(9): (col. 1) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.

// Loop does not parallelize with the "continue" statement
>icl -c /D CONTINUE -Qopenmp -Qopenmp-report2 /EHsc test.cpp
Intel® C++ Compiler XE for applications running on IA-32, Version 12.1.2.278 Build 20111128
Copyright (C) 1985-2011 Intel Corporation.  All rights reserved.

test.cpp

This is a known issue that is under investigation, and may be resolved in a future version of the compiler.

For more complete information about compiler optimizations, see our Optimization Notice.