is it ub

recursive main() implicit return

#quiz #is it ub #C
#include <stdio.h>

static int first_call = 1;

int main() {
    if (first_call) {
        first_call = 0;
        int x = main();
        if (x == 0) {
            printf("hi!\n");
        }
    }

    // implicitly return
}