In reply to veli:
You cannot put a generate-for loop inside an always block. But you can put procedural-for loop inside an always block, or put an always block inside a generate-for loop. I think you wanted
always_comb begin
// Default assignment:
res = '0;
for (int i = 0; i < DEPTH; i++) begin
for (int y = 0; y < WIDTH; y++) begin
res[i] = res[i] || arr[i][y]; // note arr index [i][y]
end
end
end