[all-commits] [llvm/llvm-project] 755519: [clang][driver] Use $ prefix with config file opti...

Paul Osmialowski via All-commits all-commits at lists.llvm.org
Sat Dec 7 03:19:05 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 755519f7f661375be05750001ff11e106e6b7f87
      https://github.com/llvm/llvm-project/commit/755519f7f661375be05750001ff11e106e6b7f87
  Author: Paul Osmialowski <pawel.osmialowski at arm.com>
  Date:   2024-12-07 (Sat, 07 Dec 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Driver/Driver.h
    M clang/lib/Driver/Driver.cpp
    A clang/test/Driver/Inputs/config-l.cfg
    M clang/test/Driver/config-file.c
    A flang/test/Driver/Inputs/config-l.cfg
    M flang/test/Driver/config-file.f90

  Log Message:
  -----------
  [clang][driver] Use $ prefix with config file options to have them added after all of the command line options (#117573)

Currently, if a -l (or -Wl,) flag is added into a config file
(e.g. clang.cfg), it is situated before any object file in the
effective command line. If the library requested by given -l flag is
static, its symbols will not be made visible to any of the object
files provided by the user. Also, the presence of any of the linker
flags in a config file confuses the driver whenever the user invokes
clang without any parameters (see issue #67209).

This patch attempts to solve both of the problems, by allowing a split
of the arguments list into two parts. The head part of the list will
be used as before, but the tail part will be appended after the
command line flags provided by the user and only when it is known
that the linking should occur. The $-prefixed arguments will be added
to the tail part.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list