GCC 7+ supports attribute((fallthrough)) in all versions of C and C++, plus [[gnu::fallthrough]] in C++11 and up and [[fallthrough]] in C++17 and up. pgc++ only accepts [[fallthrough]], and only in C++17+.
Similarly, the attribute((returns_nonnull)) works in GCC 4.9+, but not in pgc++.
I’m getting errors about unknown attributes because my code believes GNUC. I’m blacklisting PGI from generating the relevant attributes in my projects, so fixing it isn’t critical for me, but I still wanted to report the issues.