    int main(void) {
        int flag = 0, array[30], b = 3;

        if (!flag) {
            int (*M)[b] = (int (*)[b]) array;
            // note that dereferencing M here is undefined behaviour
            (void)M;
        }
        return 0;
    }
