cpplib: initialization overhaul

Zack Weinberg zack@rabi.columbia.edu
Fri Feb 26 06:44:00 GMT 1999


This patch overhauls the initialization code for cpplib.  Several bugs
are fixed, the important one being that system-header-ness wasn't kept
track of properly, causing many regressions in the C++ testsuite.  It
should be faster (the difference isn't significant) and it shouldn't
leak memory anymore.

Note to the warnings police:  If a function is documented to modify
its string argument in place, don't change it to make a copy and
modify that.

Tested to bootstrap successfully on x86, no additional regressions.
With a patch for the testsuite (see other post), it fixes many
regressions in g++.old-deja.

zw

1999-02-26 09:18 -0500  Zack Weinberg  <zack@rabi.columbia.edu>

	* cppinit.c: Instead of one pending list, keep separate lists
	for each category of pending option: -D/-U, -A, -include,
	-imacros.  Move the four partial include-path lists into the
	pending block.  Bring over `base_name' function from cccp.c.
	If opts->verbose, print details on directories dropped from the
	include path.  Fix several memory leaks and streamline code.
	(nreverse_pending, push_pending): Removed.
	(path_include): Can now add to any partial include path.
	(append_include_chain): Brought over from cppfiles.c.  Mark
	dirs as system include dirs if and only if appending to 
	system include path.
	(cpp_options_init): Allocate the pending block.
	(cpp_start_read): Break out blocks of code to their own
	functions: install_predefs and initialize_dependency_output.
	Use path_include for C_INCLUDE_PATH and friends as well as CPATH.
	(cpp_handle_option): Add --version.  Exit after --help.
	
	* cppfiles.c (simplify_pathname): Export.
	(merge_include_chains):  Don't nreverse the lists.  If
	opts->verbose, print details on dirs dropped from the include
	path.
	(finclude): Fix excessive cleverness in setting
	fp->system_header_p.
	(actual_directory): Set x->sysp from 
	CPP_BUFFER (pfile)->system_header_p so that one system header
	may include another with "".

	* cpplib.c (cpp_unassert): New function.
	* cpplib.h: Lay out struct cpp_pending here.  Adjust
	prototypes.

begin-base64 644 cppinit.diff.gz
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
O3mhEBhrm2vch/KaYSP68a0F1zllreKmv5XVe7fJDmjRpRpqtJjKUIJZeUeT
EY9fEKpbCz/T8oFJf1fbV/LckRRVONi8gnoLYOaygJakzMfIPVYdgnht1hO+
tq1L1gPOiwW5SizyBSQ5FRHgdDD8HegNO5coAE7YPKd20NQ+fPC7Itzrdl+X
L4lu3PAysTFLPIBHfdffzqbUTMHI1FEuAIKNhRyFoik5ocE4jjMZvi7rh0W8
q7CHGeQ5BPA6naD0QbF1ap0MdC+D27XhHRn6Af7Ae29R0jUBQlrmBRSR+7TY
eIXPzZw5j4z3WpSjlfiBkePj9ZX2rZOpdyOfNdicoC1IfjbYqoF/TfJD9gri
ceipleQMNvgYU5juir5Q7rYJHrhlVjOYluyw3u3Y4X4dhGX1E0ki7HirIYo7
NPcSFqn6dR1hoGtGLmnf0Q26kVnQ92YQMTOKuvRe60vikwXXLpsEfRN0FmCT
Skhblyh++BvvaTmoKAkbWUZDOrQF/0aakdW+oBdpsuxJHXKzPV3I4oY3kLFc
KRYOPp57D7mOCf92fmiDCKVYlc6x3bbYsSeClQJ4cOj3CMtSWzaFW03oFVZ+
Q8lXr1dB7gUiZc+b399p1FJC65NYeehuTFZJQnQJKrGNAEVdgpCyfLMMEY1X
paHaorg85aR+Pj0McTxJ69MpUlaXbGq73TLE0hXkCpTSaQEZL7CFIKBg+NoF
k9LKrCCuvYqT1fEgluGKgYFg0Lp23LEjRqpylK9pGDLTS5uupAvGofD0ifjG
U70uaqjZTCE6mF1x9jc4xnBNSzVs2zt+KSFFq59LCSchwYQwKJVNlpJLXNEp
eLrsfNLW5QGkRA5vGwd76qx5h/q7fYjT/tvf/ha9yCD3CLi2KXYMcR9jJSJ/
ZQtiS5ytwomiMwT21oIRZsXNjpcmk+Z4NaaVLD0FCeYtkEs7MxRtTrMNjVur
3kB9EAKXUDbG7M81eT6eJ7MPiTtWzpkBjG/kG3yd+9SlLKPa9skvfVY+fb20
5qVFsuN4gpWf3EUSFjoZdHSy+9/WFDf+bU1IPvKdHLOmH/w2WZMJ6hNDI2PS
FJmaOiqHlGWRH2m9Fz7QIqmbn9KN3R6KSH2rcPq+BiWFFK4ZGktGyUztzVr0
5xzz/kwpRUzblWecsR6Ts43N6TTwa8ocKWFXpIfOU8wfP5ljigROmw/xWOzL
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
====


More information about the Gcc-patches mailing list