Array of vectors in constant memory

How do I declare an array of vectors at file scope? I tried as listed below, but the compiler gives an error.

Array declaration and kernel reading it:

__constant int2 table[] = {

  (int2)(1,1),

  (int2)(2,2)

};

__kernel void copy( __global int2* result ) {

  result[0] = table[0];

  result[1] = table[1];

}

Error message:

:2: error: incompatible type initializing 'int2', expected 'int'

  (int2)(1,1),

  ^~~~~~~~~~

:3: error: incompatible type initializing 'int2', expected 'int'

  (int2)(2,2)

  ^~~~~~~~~~