Re: shadow variables - pg15 edition
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: pgsql-hackers@postgresql.org, Tomas Vondra <tomas.vondra@postgresql.org>, Peter Smith <smithpb2250@gmail.com>
Date: 2022-08-20T09:17:41Z
Lists: pgsql-hackers
On Fri, 19 Aug 2022 at 16:28, Justin Pryzby <pryzby@telsasoft.com> wrote: > Let me know what I can do when it's time for round two. I pushed the modified 0001-0008 patches earlier today and also the one I wrote to fixup the 36 warnings about "expected" being shadowed. I looked through a bunch of your remaining patches and was a bit unexcited to see many more renaming such as: - List *querytree_list; + List *this_querytree_list; I don't think this sort of thing is an improvement. However, one category of these changes that I do like are the ones where we can move the variable into an inner scope. Out of your renaming 0009-0026 patches, these are: 0013 0014 0017 0018 I feel like having the variable in scope for the minimal amount of time makes the code cleaner and I feel like these are good next steps because: a) no variable needs to be renamed b) any backpatching issues is more likely to lead to compilation failure rather than using the wrong variable. Likely 0016 is a subcategory of the above as if you modified that patch to follow this rule then you'd have to declare the variable a few times. I think that category is less interesting and we can maybe consider those after we're done with the more simple ones. Do you want to submit a series of patches that fixes all of the remaining warnings that are in this category? Once these are done we can consider the best ways to fix and if we want to fix any of the remaining ones. Feel free to gzip the patches up if the number is large. David
Commits
-
Fix shadow variable in postgres.c
- 4574eb9d38c6 16.0 landed
-
Add -Wshadow=compatible-local to the standard compilation flags
- 0fe954c28584 16.0 landed
-
Fix final warnings produced by -Wshadow=compatible-local
- cd4e8caaa0eb 16.0 landed
-
Fix final compiler warning produced by -Wshadow=compatible-local
- d8df67bb1ad9 16.0 landed
-
Add optional parameter to PG_TRY() macros
- 112f0225dbfe 16.0 landed
-
Small refactor to get rid of -Wshadow=compatible-local warning
- d389487525bc 16.0 landed
-
More -Wshadow=compatible-local warning fixes
- 3e0fff2e6888 16.0 landed
-
Further -Wshadow=compatible-local warning fixes
- f959bf9a5b9c 16.0 landed
-
Further reduce warnings with -Wshadow=compatible-local
- 421892a192b8 16.0 landed
-
Reduce warnings with -Wshadow=compatible-local builds
- 92fce4e1eda9 16.0 landed
-
Remove shadowed local variables that are new in v15
- 24f457aa2b70 15.0 landed
- f01592f91577 16.0 landed