array inside a struct

I am trying to define a struct with an array in it, and then assign values to it, as follows:

typedef struct {
uint b1[2];
uint b2;} B;

__constant B temp = {
{1, 2},

I get an error saying “error: expected external declaration”. This runs fine on an ATI OpenCL implementation. Could someone tell me if there is another/right way that works?