SKIP: FAILED



Validation Failure:

Compilation failed: 

program_source:22:18: error: default initialization of an object of const type 'const uint' (aka 'const unsigned int')
      uint const a;
                 ^
                   = 0
program_source:23:18: error: default initialization of an object of const type 'const uint' (aka 'const unsigned int')
      uint const b;
                 ^
                   = 0
program_source:33:11: error: cannot assign to variable 'a' with const-qualified type 'const uint' (aka 'const unsigned int')
        a = (i + (resultCell.x * dimInner));
        ~ ^
program_source:22:18: note: variable 'a' declared const here
      uint const a;
      ~~~~~~~~~~~^
program_source:34:11: error: cannot assign to variable 'b' with const-qualified type 'const uint' (aka 'const unsigned int')
        b = (resultCell.y + (i * dimOutter));
        ~ ^
program_source:23:18: note: variable 'b' declared const here
      uint const b;
      ~~~~~~~~~~~^
