On Mon, Sep 25, 2023 at 8:49 AM Nick Desaulniers <ndesaulniers@xxxxxxxxxx> wrote: > > On Fri, Sep 22, 2023 at 10:35 PM Ian Rogers <irogers@xxxxxxxxxx> wrote: > > > > Builds in tools still use the cmd_ prefix in .cmd files, so don't > > require the saved part. Name the groups in the line pattern match so > > Is that something that can be changed in the tools/ Makefiles? > > I'm fine with this change, just curious where the difference comes > from precisely. > Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> I agree. The savedcmd_ change came from Masahiro in: https://lore.kernel.org/lkml/20221229091501.916296-1-masahiroy@xxxxxxxxxx/ I was reluctant to change the build logic in tools/ because of the potential to break things. Maybe Masahiro/Nicolas know of issues? Thanks, Ian > > > that changing the regular expression is more robust and works with the > > addition of a new match group. > > > > Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx> > > --- > > scripts/clang-tools/gen_compile_commands.py | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/scripts/clang-tools/gen_compile_commands.py b/scripts/clang-tools/gen_compile_commands.py > > index a84cc5737c2c..b43f9149893c 100755 > > --- a/scripts/clang-tools/gen_compile_commands.py > > +++ b/scripts/clang-tools/gen_compile_commands.py > > @@ -19,7 +19,7 @@ _DEFAULT_OUTPUT = 'compile_commands.json' > > _DEFAULT_LOG_LEVEL = 'WARNING' > > > > _FILENAME_PATTERN = r'^\..*\.cmd$' > > -_LINE_PATTERN = r'^savedcmd_[^ ]*\.o := (.* )([^ ]*\.[cS]) *(;|$)' > > +_LINE_PATTERN = r'^(saved)?cmd_[^ ]*\.o := (?P<command_prefix>.* )(?P<file_path>[^ ]*\.[cS]) *(;|$)' > > _VALID_LOG_LEVELS = ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'] > > # The tools/ directory adopts a different build system, and produces .cmd > > # files in a different format. Do not support it. > > @@ -213,8 +213,8 @@ def main(): > > result = line_matcher.match(f.readline()) > > if result: > > try: > > - entry = process_line(directory, result.group(1), > > - result.group(2)) > > + entry = process_line(directory, result.group('command_prefix'), > > + result.group('file_path')) > > compile_commands.append(entry) > > except ValueError as err: > > logging.info('Could not add line from %s: %s', > > -- > > 2.42.0.515.g380fc7ccd1-goog > > > > > -- > Thanks, > ~Nick Desaulniers