[all-commits] [llvm/llvm-project] 47b431: [NFC][Driver] Change MultilibBuilder interface

Michael Platings via All-commits all-commits at lists.llvm.org
Tue Jun 6 21:53:44 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 47b431d6617d5029e30370ec988e5087f65e2d6b
      https://github.com/llvm/llvm-project/commit/47b431d6617d5029e30370ec988e5087f65e2d6b
  Author: Michael Platings <michael.platings at arm.com>
  Date:   2023-06-07 (Wed, 07 Jun 2023)

  Changed paths:
    M clang/include/clang/Driver/MultilibBuilder.h
    M clang/lib/Driver/MultilibBuilder.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/OHOS.cpp
    M clang/unittests/Driver/MultilibBuilderTest.cpp

  Log Message:
  -----------
  [NFC][Driver] Change MultilibBuilder interface

Decouple the interface of the MultilibBuilder flag method from how flags
are stored internally. Likewise change the addMultilibFlag function.

Currently a multilib flag like "-fexceptions" means a multilib is
*incompatible* with the -fexceptions command line option, which is
counter-intuitive. This change is a step towards changing this scheme.

Differential Revision: https://reviews.llvm.org/D151437


  Commit: ce8fa36e59e1995fde84730eeb460e06f42d7728
      https://github.com/llvm/llvm-project/commit/ce8fa36e59e1995fde84730eeb460e06f42d7728
  Author: Michael Platings <michael.platings at arm.com>
  Date:   2023-06-07 (Wed, 07 Jun 2023)

  Changed paths:
    M clang/include/clang/Driver/Multilib.h
    M clang/include/clang/Driver/MultilibBuilder.h
    M clang/lib/Driver/Multilib.cpp
    M clang/lib/Driver/MultilibBuilder.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/OHOS.cpp
    M clang/unittests/Driver/MultilibBuilderTest.cpp

  Log Message:
  -----------
  [NFC][Driver] Change Multilib flag representation

This new representation means that a valid command line option may
potentially be used directly as a multilib flag without any translation.

To indicate that a flag is required not to be present, its first
character is replaced with '!', which is intended for consistency with
the logical not operator in many programming languages.

Reviewed By: simon_tatham

Differential Revision: https://reviews.llvm.org/D151438


Compare: https://github.com/llvm/llvm-project/compare/cb9f1aaddac0...ce8fa36e59e1


More information about the All-commits mailing list