diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2013-08-21 18:31:48 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2013-08-21 18:31:48 -0400 |
commit | 649839dd9f1c08b7aadb654587edd9f86a3caa3f (patch) | |
tree | f13567bedf6f85614cd92468c8445f2ea3b81b59 /src/backend/executor/nodeFunctionscan.c | |
parent | a2e66c03a4cc3d300e743930ffcc903ee786ffd5 (diff) | |
download | postgresql-649839dd9f1c08b7aadb654587edd9f86a3caa3f.tar.gz postgresql-649839dd9f1c08b7aadb654587edd9f86a3caa3f.zip |
Disable -faggressive-loop-optimizations in gcc 4.8+ for pre-9.2 branches.
With this optimization flag enabled, recent versions of gcc can generate
incorrect code that assumes variable-length arrays (such as oidvector)
are actually fixed-length because they're embedded in some larger struct.
The known instance of this problem was fixed in 9.2 and up by commit
8137f2c32322c624e0431fac1621e8e9315202f9 and followon work, which hides
actually-variable-length catalog fields from the compiler altogether.
And we plan to gradually convert variable-length fields to official
"flexible array member" notation over time, which should prevent this type
of bug from reappearing as gcc gets smarter. We're not going to try to
back-port those changes into older branches, though, so apply this
band-aid instead.
Andres Freund
Diffstat (limited to 'src/backend/executor/nodeFunctionscan.c')
0 files changed, 0 insertions, 0 deletions