[all-commits] [llvm/llvm-project] 984744: Fix a variety of minor issues with ObjC method man...

John McCall via All-commits all-commits at lists.llvm.org
Tue Sep 29 16:52:11 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 984744a1314ce165378e7945bc45995302a8cb80
      https://github.com/llvm/llvm-project/commit/984744a1314ce165378e7945bc45995302a8cb80
  Author: John McCall <rjmccall at apple.com>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M clang/include/clang/AST/DeclObjC.h
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/Mangle.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGObjCRuntime.h
    M clang/test/AST/ast-dump-decl-json.m
    M llvm/tools/dsymutil/SymbolMap.cpp

  Log Message:
  -----------
  Fix a variety of minor issues with ObjC method mangling:

- Fix a memory leak accidentally introduced yesterday by using CodeGen's
  existing mangling context instead of creating a new context afresh.

- Move GNU-runtime ObjC method mangling into the AST mangler; this will
  eventually be necessary to support direct methods there, but is also
  just the right architecture.

- Make the Apple-runtime method mangling work properly when given an
  interface declaration, fixing a bug (which had solidified into a test)
  where mangling a category method from the interface could cause it to
  be mangled as if the category name was a class name.  (Category names
  are namespaced within their class and have no global meaning.)

- Fix a code cross-reference in dsymutil.

Based on a patch by Ellis Hoag.




More information about the All-commits mailing list