This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

cpplib initialization overhaul, revised [patch]



As requested, here is a revised version of the cpplib initialization
overhaul.  The main difference is that the changelog has been
clarified.  I also added an important bugfix for deps_output.

zw

1999-03-10 09:39 -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.  Use head and tail pointers so we don't ever
        have to reverse the lists.

        (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.  Remove include_defaults gunk.  Warn about the
        combination of -lang-chill and -trigraphs.  Optimize string
        bashing.  Walk each pending list once, deallocating as we go.

        (append_include_chain): Brought over from cppfiles.c.  Mark
        dirs as system include dirs if and only if appending to 
        system include path. If opts->verbose, print a notice when a
        dir is dropped from the include path because it doesn't
        exist.  Fix memory leak: this function is not supposed to copy
        its DIR argument.

        (nreverse_pending, push_pending): Removed.
	(APPEND): New macro for adding to pending lists.
        (path_include): Can now add to any partial include path.
	(base_name): Bring over from cccp.c.
        (cpp_options_init): Allocate the pending block.
        (cpp_handle_option): Add --version.  Exit after --help.  Fix
        formatting.  Order -ifoo options by frequency of usage.
	(install_predefs): New function, simplified version of code
	that was in cpp_start_read.
	(initialize_dependency_output): Likewise.  Understand OBJECT_SUFFIX.
        
        * cppfiles.c (simplify_pathname): Export.
        (merge_include_chains):  Don't nreverse the lists.  If
        opts->verbose, print a notice when a duplicate dir is detected
        and 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 "".
	(deps_output): Fix double adjustment of deps_size which would
        cause all dependencies after the first two lines to be lost.

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

begin-base64 644 cppinit2.diff.gz
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
h3gs9mVFJRkSq9koBy5/MZLwEfZ2hdwdUOZAp66ihJwLb5NtNBs+i4JZRMW3
yRqLxQErnuAXVo9TLn+33uHWgTTmo/Gs9+LRs6e//vaPZ72nz57++Ouzh/+B
/3x4cvJbO9m5f/++OWzfWtUK40/QlT+S0EnuTbJoXyomgtbxi8REcMRIUUyE
d6wKYyKY7NaIicif2eAp/PqREgwoiJQoYwoqwCHMbNWB1Fb1WUSoQdRhEl6k
XRmPIClYjWUFz0A7TA2GoYKKC8cs5B0iA/ggXDdkn/b0uiH7BGWdkH3quX7I
fqfoYOFx0eepPIYeL3miPZSH9NN9MPBlr5kMQPfwPnkh4B3/csrxn+5dsVEz
LUAnlmlgNzSVSsUN+BPPTMD4ZDaeXTTE66QJEBgYg8fhK5BZFmNxITryfJ41
bUNxMsycG0DGLpjNxL2X0BuLf2P/bNchml6g01gxuYBN/kvJBPz8Ai6zgAc3
zCtQvANF2O7kMVV7YVlCZXqBTmybveQCnh/lT8j+te5YmGJAznKdRAMFh1ac
757NuD5XoPyIU93rERQIoPC1KWRoPDUb9Qe4VkBmRQhW+jTiJJNYlGSxHNgy
PQwC6hyBkBtMwNEP4t8M5qBIGZZM5eQwZie5PRx9vD0/X1hx946lwa0mvWEO
MEZY4tjQHNU3MtLIWcv20vkfKFU9N7ZS3SuQ3dVJGSIN103MUAjKJmeItHAJ
GiI/6iQNHa24RxI1dBorZWlgYBWZGuJAVZoGBcY0JiNWLkkDPXu5DA30alha
ui35zGXbqGob1Wyjim1Ur61jn1pLy7b57bB80Y797gpXtbFmpgix9d36oDIh
5ILqIdOu+E/ayoqPjl+4N1br7AbCtgyW18uDytUUGY48CbZaH3JPqB+Ucb7H
AfB2DWolskCv9GKnjlsfmpyygt+Gdb4KO1LtZBXQPngMYtBe/goGW528AhpG
M1fYJaiXtgKaX7gHYZayuWQUKgTNOY2unsGi08Cj1Vgvd0WHD0BJ/gpswskr
8N/2ORnsW4z1hTxCs9BsVCWx6EhtRMiurcnhQxtLGsKy/8USp//j6X/zz1wo
tNOoyHRR1CCe5qLjrhL6mi5f0c6yfqAT2lznto7Aa93W0U2/TrIz8HEmbfAJ
XEchSYeWs2lOGWBN0wXWcsCrFKZijz14gUht3QKAIQ2M2gp5PT+NobLCciYx
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
pBSLvQXmnWHAH9Ox4cHj89nEqAM9yM8GGCjIaJPXqBRg2x8slv1Jz2V9K8DN
wRNJDOtyf6d9727SurfPC/MXEg/J8dNnvZPe4/+81W8np00DrY+Vc2+dgi2U
xac5ZeCVgEndkv4Uyjqa4cHaCvVKICWkOZOI5K/HL0/adrZAkUYesQCepZm4
t7387WWS9S/Bq2FkpNU8WYjPXFhDwBUJQBhbW1s4nml6ng6tJ9xs0h8A3OOF
9ZQDb5G+GQ1Ng7PR3BC2QXtyiWDwpt43AnYbMaaRZ+kYylXCXECCog2HvzNL
M0LVCcx/tA8MactQCizLlhSpId8+yXYPX+LCoMuUubNPDWeevx/5qfGyJmm3
QCo3OqXJ8wBYm8YxKzWT7IiaBLClsNECWtqCv6TNwBzzBdONgSxfQ1A5jGE+
f4avCkBNR58O1c9AwwnDXk4zc9/ELeIsxB15g0pMNyp2YxP/QXWcQyoYmTsu
yS1qT4YiMtxDOln6tp18ky0kU+RnpV8ZLpmRXXaIF7vRBaDcB9sv8OkFmGXx
QjwMS2AZCWOU5JvfJY+fPnv89AS0vtLytho9J4Gc/BG0b77sHb8ECjYT2M4W
PUPFoxzmMJK5uGf9926ArmH6f80OEvjvaWom4Y4GmPbm6XvK9VQHEZ2OMLew
8OP3Um31vH9hCRHSzBKY+I8GpOwx/GfgKqtZjvUWmcv8hk3Cy8CyZXAJX/W1
PzR9R5YnR+X47djsKM4bFt58cL8MRx/dL+aD+wUOAPxC50Bh0iPNloxbuKo4
GiFovoGlBhJ8AsedHG7TpU3LmdC5N7zmPTFAdsql6hhYsMnwHEqM20aVmfhi
myS8YXWc9dmcnMkYWBmQQ2YkdWb0G9PiHFX/00vsa3l8s7lNHr1+1nh6PtH5
aAU/OCpT4GVUdna3277XTVoPdtvdfZQiMWZG+mGTFf2soBzt4Y2kjKsYtvqx
TfV2zV+D5RweQ2ClUIsp7+S1LuaBvMpbuMzmb1gTs8BbuBClHcFmDx3574z/
7lMZLaT+D165La8SJtLRqfd7viYmDK5b+BuGDfpeA2/7mCIN+T3VkggpEOaQ
CbuDFbPWMXw+NYtnvkD0DxPzAf+XUBHjkE/xMTMNgmLI9ht4b5rzeULOQeMB
XKWa4/K4pmWInX5VxHBf6iGWfVXEkFZt01ZIb5HSb9jqtEYRuJDybCsc07Xq
x1sRHaqTULRg/a+6YHQx0gvGNBddMH6IdAQQXTDbSnYjumC2laAQXTBqhZdP
c2qf9zMoWCjCQQSBEwLCrwN5ss1BGawgjSdN4tt7D9pdo/x3d+63d6lUOP5Z
QN0lo9Ge9y/N/SfzbZP4agBc49vvpQ4jJpdGdSo7S5eTIYM5Re4yHx2iJjkG
CdY5fpem5v+n/TmWW5TPH5bLi21Q043GfZZ+QsnCcqL/boSqt1FjF7Yn9fL7
g6HDTBAU/MVoytteNBTYO8oa3BDTiisRiXeR/uS9WYbF2Tlg+mHZH87xasZi
ero8PzWzhICbY7bRYekPhPTpbGzWCmAMBqMZXULM5XzAqwQylWos4y2CxsRy
uxRqdc7WYFgXzZGBML3jYk8Ai9rPYlrDXij+XD/6eJPORSI/4t8ekISpR1QG
HB5Vp7a0Nv8WN5lvviEsQH/6zoIznxQ0P37AcxZ1ni2efyyq5FhVUys3fOkF
2wa6+NL0Ocso4wOn23IFxTPoV/IT0P2C7803cFx2u11zSW5179xv77vD8ufC
dHZ37+PC3Lvb7u54K/MZe8A8mK+yCuH8qWRC0bk2Vp/mjRaXU8EBcxMW5P1f
I7+pb0UkILvlGd+hGd/fkxn7zilOCt1UM24k4RF1g2i5xQP985YGECpeGu/X
yG/22ytai7t77T2zFnt32YQE2x/Rby3Tcb/ni7rz1DtJVL91F6skpt7an60B
89c0/SNZzsDQ3R8qGxXbcogJg6+We43LJLgNf8QZPrjbhRnef3DP/EXkPUC5
eOsd+EbB6sw638/BGQ22Dz709YfT5Tsqx/J+cWabEyXwz6QEzex8z9Bm04Ob
5K3xWT87g4R+y+kQBYUhqaMfXz779dXJ497zo5NfbmAFIcNawpZ0TSUDL3qG
VEGy/jRxVOLw7YzAPDxN+bWDJ5lOwm8mo/50CdDw+sQf6VTtde+BkfbB3X3z
F63zhb3ID/Emz1/ROYFU58+enxw/e/pSMp3n7lTUgWwK34mFwplMM1z5C3uh
38HFcp9hiB9f/fTT4xduhGBhLFLh7R8PQn5EsG3RfI3eZW7Mu0lrf/9+u9vl
KaPDKPXC6DizhstzsL3sCF9FR9F8CyrM0zQtnxz9rffs1cnzVye9h2Z3nzx9
aXUB1oahZdL6LrnnFGepMK0+3rPPcpHhcLES4gOJWIl0OxqDh0r2nPUIf7W2
VmzXFBotBmAwqoYiUiePtd8SDlbxUPd2mskWOFZF4LB93/Rni3pyYVRTslnl
27Vpo7s7d4Gyuzt3HljSTn5e9uf96WJED++LuWGt+DQ36UOJ0+3kCJ63TIvM
KG7nWTIfDZcDNh0jK0EgHIdP4UFGbcULvHpiuNHC/8dMp/AvXjEOAOgjf/r8
pZ5yJuNT95CDH/LPOLs7je72g7vyjKNb5R9xdvdJ7uLfXVHC+O2qy3y/BRel
eTqAOM+XJy/4WmCYMRjQjZINHsFUHTYdXpKjLjgwkjcn3Qxo4UDCyvfW3moW
WrhkxLhOP1j7Ni1rBu7grc9C4WgvBlc1piQFuW1rwcAwTVUzhJUlIsdh2guw
wlbu7MII6cwfQH6+utG6gofjG2B9v2En0cNA7p51lpZeN5KiuX5BIjnTRHIW
IZKuIZI7u5pIzgqJpHsXpQj8dV+kNeyDEV49eL2bQdRpcoVmiLwX/6HEGGOO
huFoMIGsErAgHbxAPWy16DadMwIa1t8jwzLpHk/6F+Pz5XkyHWULLoTt3gdB
y3gNMcgjeNvip0ZQGdoYzDvBZzSm+QdE8uaOfhfnw3k4TtPFwlzFmQHoUseE
oLzkgQgD+mA5duv5T8e/Pm4iyfBpAWh/5/lv8sQgB4S5qC7PlxPrX4+WaDbW
4vUUzcCQq8KssTx/wZsDnD1D/svpYjwBQ8LZeBHUcaZHObQLZBi6jDAyuPj3
J2SLbGPyClhzzPWxuJyhqkYI0PJB6hBYhzN6letPhwgGLVD8RJchhA/L8eAP
Q/BM3HTK85vPp7TAo1c5cbftJ2Udi3ZS/uRt+4k7lZisnb2pLR/CkcIuzvgk
xuvKLs4SJXbuyi7OLCUm8chswkXgYnPSTT5WrZ2upN12H7nbFV5dgNnjTmNC
ldNLxam24YrgHVb92vDZMoYt8Wg5ZE+Be+2uOXF37+2CdUxuNNh0aEiyh3Hn
RsH/H2AXpPqAz5azhWW60hpVJt9OkrAir391MUeJNTEItwfGYLjPEu90vByG
L4Avh9iu6gxJVr9SEhNFuYFsz6inC3y8N2vJxj2AuwF9N8rBhW8VJeC+hb7f
81NDCWmqhw0fO/SPZI8AUsOzpByc/wyCq/cLd3S4kemU4YoXET0X81Wai7sp
W6fRPtDLIPk7VFXdFEugOEPaN3O3Mb4XpdvN+qNI1dYO/E3x3bc5vnuTdYAA
jQoE1EnQ9eno4ji1nq2qbN2hOhSBu9uh/SHmr8pn7MEuuuPsKXU4SQz3n4KK
ZDC/RNmCke4jzOVhEQV8vFwO7gg+Z9//zqM2hC5ghhCJxDTixKyJvHrhe6o6
SdJTmEOHYZj/jsx/x+a/8cXFxbZ/BHLBf8wQEtIhrNMdWX4xQwnM6nQEHdhO
bchvmxxxHqB18f7efV4SSPxk1Fr0E4KRWJw/P3px9ORlzr0n0DnRzyeEwErj
NSBQmMYKEFp5CKtjkceDHP2e/1eBq5NyXGkn29vbTVRjj05OXhz/iLaOF8dP
T37q7RIxPtjda++D2eFuwcqzmU0NpwY4z96PhzxKfoiuaIPHU+WlhrxKjxLz
7Yn7mKGxp9h1zTXwF8Gcmtx21HM+0z1iz/q2T+xFX0OAg2so2M0ScC/0pCO8
Kxz12jf+F2IALmFtHgEA
====


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]