Re: Compilation error with buildtype = release
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-07-29T13:06:40Z
Lists: pgsql-hackers
Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> writes: > I am seeing following error only with buildtype = release Interesting. I noticed skink showing the same thing as a warning, but no other BF animals have shown it (yet anyway). > Looking at the function, reltuples is indeed initialized in all the > cases. All the relevant lines of the function are at least 3 years > old, but I have started seeing this error only after > 80aa9848befc13c188d2775a859deaf172fdd3a2. Yeah. The variable is clearly initialized in all cases where it's used, but a compiler doing sloppy flow analysis might complain. I suspect the relevance of 80aa9848b is that when there was a PG_TRY in the function, these compilers backed off and didn't try to do flow analysis at all. > If I make the change as per attached patch, it compiles without an > error. I don't claim that the patch is the right thing to do, but it > might provide a hint. Usually my answer to this sort of thing is to provide an initializer for the variable. Will fix. regards, tom lane
Commits
-
Suppress uninitialized-variable warning.
- b9ebb92bcb6e 19 (unreleased) landed
-
Reap the benefits of not having to avoid leaking PGresults.
- 80aa9848befc 19 (unreleased) cited
-
Create infrastructure to reliably prevent leakage of PGresults.
- 7d8f59577924 19 (unreleased) cited