Make parseNodeString() C idiom compatible with Visual Studio 2015.
Noah Misch <noah@leadboat.com>
Make parseNodeString() C idiom compatible with Visual Studio 2015. Between v15 and now, this function's "else if" chain grew from 252 lines to 592 lines, exceeding a compiler limit that manifests as "fatal error C1026: parser stack overflow, program too complex (compiling source file src/backend/nodes/readfuncs.c)". Use "if (...) return ...;" instead. Reviewed by Tom Lane, Peter Eisentraut and Michael Paquier. Not all reviewers endorse this. Discussion: https://postgr.es/m/20230607185458.GA1334487@rfd.leadboat.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/nodes/gen_node_support.pl | modified | +2 −2 |
| src/backend/nodes/readfuncs.c | modified | +2 −10 |
Discussion
- v16 fails to build w/ Visual Studio 2015 8 messages · 2023-06-07 → 2023-06-12