I suggest we do this instead of the above:

```D
extern (C) int main(int argc, char **argv)
{
    auto result = _d_run_main(argc, argv, &_Dmain);
    if (fflush(stdout) != 0)
    {
        fprintf(stderr, "Failed to flush stdout, error code: %d\n", errno); // unchecked
        result = 1;
    }
    fflush(stderr); // unchecked
    return result;
}
```

The justification goes as follows:

1. If we flush all buffers, we'll try to flush whatever stray files the user has forgotten opened. If the user didn't care to close them, we can't assume they are of consequence to the program.

2. stdout, however, is the runtime's responsibility because we're assume to take care of properly closing it.

3. Not being able to flush stderr should not change the exit code because most programs do not depend on a proper stderr.