https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93632

            Bug ID: 93632
           Summary: Build time regression in 9.2.1
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jeanmichael.celerier at gmail dot com
  Target Milestone: ---

Created attachment 47797
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47797&action=edit
preprocessed source of the buggy file

Hello,

The following source code takes almost two minutes to build on GCC 9.2.1 - it's
a boost.spirit parser./

https://github.com/OSSIA/score/blob/master/src/plugins/score-lib-state/State/ExpressionParser.cpp

it only takes two seconds on clang and on previous GCC versions (at least 8.0
and 9.1.0, not sure about 9.2.0).

Attached a preprocessed source - my build options are

    $ g++ -fno-stack-protector  -g -fPIC -fvisibility=hidden
-fvisibility-inlines-hidden   -Wall -Wextra -Wno-unused-parameter
-Wno-unknown-pragmas -Wnon-virtual-dtor -pedantic -Woverloaded-virtual -pipe
-Wno-missing-declarations -Wredundant-decls -Werror=return-type
-Werror=trigraphs -Wno-gnu-string-literal-operator-template -Wno-missing-braces
-Wmissing-field-initializers -Wno-gnu-statement-expression
-Wno-four-char-constants -ftemplate-backtrace-limit=0 -O0 -fdebug-types-section
-ggnu-pubnames -ggdb -fPIC -std=gnu++2a -c error.cpp

If you want to setup a build from the git repo to reproduce, it's a matter (on
archlinux with qt and boost) of : 

    git submodule update --init --recursive
    cd score && mkdir build && cd build
    cmake .. -DSCORE_CONFIGURATION=developer -DCMAKE_BUILD_TYPE=Debug 

this will create a compile_commands.json with the ExpressionParser.cpp command
line.

Reply via email to