pgsql: Make parseNodeString() C idiom compatible with Visual Studio 201

From: Noah Misch <noah(at)leadboat(dot)com>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Make parseNodeString() C idiom compatible with Visual Studio 201
Date: 2023-06-14 12:35:40
Message-ID: E1q9Piu-001l6H-3Q@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f9f31aa91f82df863a35354893978e1937863d7c

Modified Files
--------------
src/backend/nodes/gen_node_support.pl | 4 ++--
src/backend/nodes/readfuncs.c | 12 ++----------
2 files changed, 4 insertions(+), 12 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2023-06-15 03:12:05 pgsql: Fix possible crash in tablesync worker.
Previous Message Masahiko Sawada 2023-06-14 04:30:46 pgsql: Fix typo in comment.