Why is a stray semicolon no longer detected by `-pedantic` modern compilers?
Starting in C++11, extra semicolons ; (aka empty-declarations) at the global level are valid. I believe this is occasionally useful for writing macros. As such, GCC 11 removed -pedantic diagnostics for an extra ; when -std=c++11 or later is used. See: [GCC Bug 96068] Extra semicolon outside of a function should be allowed after c++11?. … Read more