[all-commits] [llvm/llvm-project] 4460fa: [TextAPI] Introduce granularity for handling ObjC ...

Cyndy Ishida via All-commits all-commits at lists.llvm.org
Mon Jan 29 18:36:59 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4460fa8814d4c86e1d22f830078d7bad69bc0ecc
      https://github.com/llvm/llvm-project/commit/4460fa8814d4c86e1d22f830078d7bad69bc0ecc
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M llvm/include/llvm/TextAPI/InterfaceFile.h
    M llvm/include/llvm/TextAPI/Record.h
    M llvm/include/llvm/TextAPI/RecordsSlice.h
    M llvm/include/llvm/TextAPI/Symbol.h
    M llvm/include/llvm/TextAPI/SymbolSet.h
    M llvm/lib/TextAPI/RecordVisitor.cpp
    M llvm/lib/TextAPI/RecordsSlice.cpp
    M llvm/lib/TextAPI/Symbol.cpp
    M llvm/lib/TextAPI/SymbolSet.cpp
    A llvm/test/tools/llvm-readtapi/stubify-ehtypes.test
    M llvm/unittests/TextAPI/RecordTests.cpp
    M llvm/unittests/TextAPI/TextStubV5Tests.cpp

  Log Message:
  -----------
  [TextAPI] Introduce granularity for handling ObjC Interface symbols (#79928)

ObjCInterfaceRecords roughly align to the objc-classes key in tbd-files.
They condensely represent up to 3 symbols. The problem here is that when
represented this way, we lose granularity when these symbols could have
different linkages or outright don't exist. This can happen frequently
in interoptable code generated by the swift compiler. This adds fields
and utility functions to express unique properties for these symbols. If
the record does represent the same properties across all of its symbols,
it will be treated the same in the TBD. Otherwise it will be printed in
global's section.

Reviewed seperately before by Juergen Ributzka




More information about the All-commits mailing list