pgindent: Fix indentation of alignas() in struct members

pg_bsd_indent doesn't know about alignas(), so a struct member
declared with it is misindented unless it's the first member.

Disguise each alignas(...) call as a plain identifier while
indenting, restoring it afterward.  Stash the call's original text
by index rather than embedding it in the placeholder: embedding only
works for a single-token argument, and fails to match at all against
nested parens (e.g. alignas(sizeof(x))) or a line break, silently
skipping the disguise.

There is currently no code affected by this, but there are some
pending patches that would be.

Co-authored-by: Peter Eisentraut <[email protected]>
Co-authored-by: Andrew Dunstan <[email protected]>
Discussion: 
https://postgr.es/m/[email protected]

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/884f82ae2621cc8d983bb745ce6c8c1c9a971764

Modified Files
--------------
src/tools/pgindent/pgindent | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Reply via email to