Problem with driver 344 and vertex or fragment shader

I have a crash of driver 344.11, 344.48, 344.60 & 344.65 with a simple vertex (or fragment) shader that works with previous versions of the driver.
It was tested on different computers with a GTX 660, GTX 680, GTX 770 or GTX 780, running on Windows 7 64-bit.

The vertex shader is:

attribute vec2 coord2d;

uniform int iMax;

void main(void)
{
  vec4 pos = vec4(coord2d, 0.0, 1.0);

  for (int i = 0; i != iMax; i++)
  {
    pos = 1.01 * pos + vec4(0.2, 0.0, 0, 0);
  }

  gl_Position = pos;
}

iMax must be a uniform.
The application sets the uniform to 1

GLint iMax = glGetUniformLocation(program, "iMax"); glUniform1i(iMax, 1);

and displays an image

glUseProgram(program);
...
glutSwapBuffers();

Then the uniform is set to 2

GLint iMax = glGetUniformLocation(program, "iMax"); glUniform1i(iMax, 2);

and when the second image is rendered, the driver crashs (TDR under Windows).

Note that if the loop is into a fragment shader, the same problem occurs.

I can join the source code of the simple application if my explainations are not sufficient.

Thanks