Re: Add "-Wimplicit-fallthrough" to default flags (was Re: pgsql: Support FETCH FIRST WITH TIES)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Julien Rouhaud <rjuju123@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-05-12T21:12:51Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@2ndquadrant.com> writes: > Fixed one straggler in contrib, and while testing it I realized why > ccache doesn't pay attention to the changes I was doing in the file: > ccache compares the *preprocessed* version of the file and only if that > differs from the version that was cached last, ccache sends the new one > to the compiler; and of course these comments are not present in the > preprocessed version, so changing only the comment accomplishes nothing. > You have to touch one byte outside of any comments. Ugh. So the only way ccache could avoid this is to drop the preprocessed-file comparison check if -Wimplicit-fallthrough is on. Doesn't really sound like something we'd want to ask them to do. > I bet this is going to bite someone ... maybe we'd be better off going > all the way to -Wimplicit-fallthrough=5 and use the > __attribute__((fallthrough)) stuff instead. I'm not really in favor of the __attribute__ solution --- seems too gcc-specific. FALLTHROUGH-type comments are understood by other sorts of tools besides gcc. In practice, it doesn't seem like this'll be a huge problem once we're past the initial fixup stage. We can revisit it later if that prediction proves wrong, of course. regards, tom lane
Commits
-
Dial back -Wimplicit-fallthrough to level 3
- 17cc133f017c 13.0 landed
-
Add -Wimplicit-fallthrough to CFLAGS and CXXFLAGS
- 3e9744465dbe 13.0 landed
-
Suppress -Wimplicit-fallthrough warning in new LIMIT WITH TIES code.
- 35cb574aa847 13.0 landed
-
Support FETCH FIRST WITH TIES
- 357889eb17bb 13.0 cited