If you can I would at least advise running tests using memory sanitizer, which is also built in to newer clang versions. They're much more precise, but only catch problems occurring at runtime. also adress sanitizer for the out of bounds accesses, use after free bugs, memory leaks etc.
Initializing values just because seems wasteful. That's why global and static variables are already initialized in this way.
For me it would yet make sense that Gcc allows it even if it's not a very good practice it may have its uses.