[all-commits] [llvm/llvm-project] 062f6f: [InstallAPI] Support mutually exclusive parse opti...

Cyndy Ishida via All-commits all-commits at lists.llvm.org
Fri May 10 09:36:03 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 062f6fe324e98b0994e49bc14eb45b20aa0807c4
      https://github.com/llvm/llvm-project/commit/062f6fe324e98b0994e49bc14eb45b20aa0807c4
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-05-10 (Fri, 10 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/InstallAPI/MachO.h
    A clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Modules/module.modulemap
    A clang/test/InstallAPI/Inputs/LibFoo/usr/include/foo.h
    A clang/test/InstallAPI/Inputs/LibFoo/usr/include/macro_defs.h
    A clang/test/InstallAPI/Inputs/LibFoo/usr/include/public.h
    A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/Headers/Zippered.h
    A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/PrivateHeaders/Zippered_Private.h
    A clang/test/InstallAPI/Inputs/Zippered/Zippered.tbd
    A clang/test/InstallAPI/Inputs/Zippered/Zippered.yaml
    A clang/test/InstallAPI/exclusive-passes-2.test
    A clang/test/InstallAPI/exclusive-passes-platform.test
    A clang/test/InstallAPI/exclusive-passes-zippered.test
    A clang/test/InstallAPI/exclusive-passes.test
    A clang/test/InstallAPI/invalid-exclusive-passes.test
    A clang/test/InstallAPI/project-header-only-args.test
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M llvm/include/llvm/TextAPI/Utils.h
    M llvm/lib/TextAPI/Utils.cpp

  Log Message:
  -----------
  [InstallAPI] Support mutually exclusive parse options (#90686)

Projects like libc use mutually exclusive macros to compile files
multiple times and then merge the result into the final library. For
installapi to accept these, we'd need to parse the same declarations in
different ways. This patch adds the basic pipelining for installapi to
create the correct TBD file.

* -Xproject allows: -fmodules, -fobjc-arc, fvisibility=hidden, prefix
headers
* -Xlabel allows: -D and -U settings
* Error on 'private' and 'public' labels -X<label>
* Xplatform allows: -iframework <path> This is to support the case where
zippered frameworks want to pass in iOSSupport search path.



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