Re: ECPG cleanup and fix for clang compile-time problem
Tom Lane <tgl@sss.pgh.pa.us>
Attachments
- v3-0001-Clean-up-indentation-and-whitespace-inconsistenci.patch (text/x-diff) patch v3-0001
- v3-0002-Clean-up-documentation-of-parse.pl-and-add-more-i.patch (text/x-diff) patch v3-0002
- v3-0003-Major-cleanup-simplification-and-documentation-of.patch (text/x-diff) patch v3-0003
- v3-0004-Re-implement-ecpg-preprocessor-s-string-managemen.patch (text/x-diff) patch v3-0004
- v3-0005-Move-some-functions-into-a-new-file-ecpg-preproc-.patch (text/x-diff) patch v3-0005
- v3-0006-Improve-ecpg-preprocessor-s-memory-management.patch (text/x-diff) patch v3-0006
- v3-0007-Remove-ecpg-s-check_rules.pl.patch (text/x-diff) patch v3-0007
John Naylor <johncnaylorls@gmail.com> writes:
> I started looking at the earlier cleanup patches.
Thanks for looking!
> 0001 seems straightforward. Note: It doesn't apply cleanly anymore,
> but does with 'patch'.
Odd, after rebasing it seems to have only line-number differences.
> + # Emit the target part of the rule.
> + # Note: the leading space is just to match
> + # the old, rather weird output logic.
> + $tstr = ' ' . $non_term_id . ':';
> + add_to_buffer('rules', $tstr);
> Removing the leading space (or making it two spaces) has no effect on
> the output -- does that get normalized elsewhere?
It does affect horizontal space in the generated preproc.y file,
which'd have no effect on the derived preproc.c file. I tweaked
the commit message to clarify that.
I adopted your other suggestions, no need to rehash them.
Here's a rebased but otherwise identical patchset. I also added
an 0007 that removes check_rules.pl as threatened.
regards, tom lane
Commits
-
ecpg: clean up some other assorted memory leaks.
- 2b41de4a5b42 18.0 landed
-
ecpg: fix some memory leakage of data-type-related structures.
- 0e6060790d65 18.0 landed
-
ecpg: put all string-valued tokens returned by pgc.l in local storage.
- 85312d95e959 18.0 landed
-
ecpg: fix more minor mishandling of bad input in preprocessor.
- 1fed234f9faf 18.0 landed
-
ecpg: fix some minor mishandling of bad input in preprocessor.
- 9b4bf5169064 18.0 landed
-
ecpg: avoid breaking the IDENT precedence level in two.
- 9812138593f3 18.0 landed
-
ecpg: improve preprocessor's memory management.
- 1acd0f55274f 18.0 landed
-
ecpg: move some functions into a new file ecpg/preproc/util.c.
- f18231e81759 18.0 landed
-
ecpg: re-implement preprocessor's string management.
- a542d5614bdb 18.0 landed
-
ecpg: major cleanup, simplification, and documentation of parse.pl.
- 6b0054994475 18.0 landed
-
ecpg: remove check_rules.pl.
- 293fd24425b5 18.0 landed
-
ecpg: clean up documentation of parse.pl, and add more input checking.
- 00b0e7204d53 18.0 landed
-
Clean up indentation and whitespace inconsistencies in ecpg.
- 97add39c038b 18.0 landed
-
Exclude flex-generated code from coverage testing
- 421167362242 11.0 cited