# GAP Message (Diagnostic ID 30535)

## Message

Removing Exception-Handling code associated with the loop-body may enable more optimizations for the loop at line %d.

## Advice

Loop optimizations could not be performed because of exception-handling code inside the loop body. You can remove the exception-handling code or use different libraries, etc.

## Example

Consider the following:

    #include <boost/numeric/ublas/vector.hpp>
    #include <boost/numeric/ublas/io.hpp>

    namespace ublas = boost::numeric::ublas;

    int main () {
      unsigned size = 1000;
      ublas::vector<double> dest(size), src(size), arg(src);

      for (int i = 0; i < size; ++ i) {
        src(i) = i * 1.2;
        arg(i) = i * 2.3;
      }

      // Loop to be vectorized
      dest = src + 1.5 * arg;

      return 0;
    };

In this case, the compiler is unable to vectorize the loop at setting O2, the default. Remove the exception-handling code or recode using different libraries.

## Verify

Make sure that the restructured code without exception-handling code inside the loop-body follows original program semantics.

Parent topic: Guided Auto Parallelism Messages