On Wed, Sep 5, 2018 at 5:58 PM Bernhard Reutner-Fischer < rep.dot....@gmail.com> wrote:
> Hi, > > The fortran frontend still uses stack-based handling of (symbol) names > with fixed-sized buffers. Furthermore these buffers often are too small > when dealing with F2003 identifiers which can be up to, including 63 > bytes long. > > Other frontends use the stringpool since many years. > This janitorial series is a first step towards using the stringpool in > the frontend. > Consequently this allows us to use pointer-comparison to see if two > given "names" are identical instead of doing lots and lots of string > comparisons. > > > Part 1 switches most of the fortran FE. An eventual part 2 would > continue to switch the few remaining stack-based identifier > manipulations to use the stringpool. My initial plan was to also see if > switching gfc_symtree from treap to a hash_map would bring us any > measurable benefit, but that, too, is left for an eventual part 2. > > Bootstrapped and regtested on x86_64-foo-linux. > > I'd appreciate if someone could double check for regressions on other > setups. Git branch: > > https://gcc.gnu.org/git/?p=gcc.git;a=log;h=refs/heads/aldot/fortran-fe-stringpool > > Ok for trunk? > Hi, this is quite an impressive patch set. I have looked through all the patches, and on the surface they all look ok. Unfortunately I don't have any exotic target to test on either, so I think you just have to commit it and check for regression reports. Though I don't see this set doing anything which would work differently on other targets, but you never know.. I'd say wait a few days in case anybody else wants to comment on it, then commit it to trunk. Thanks for doing all this! -- Janne Blomqvist