[all-commits] [llvm/llvm-project] 0bdce1: WIP: Fix mangling of call on parenthesized name th...

Hubert Tong via All-commits all-commits at lists.llvm.org
Mon Nov 4 14:25:01 PST 2024


  Branch: refs/heads/users/hubert-reinterpretcast/ItaniumMangle-cpVersusClManglingAtBlockScope
  Home:   https://github.com/llvm/llvm-project
  Commit: 0bdce1667f759e5f92a02025bf8c72c2e1fac7b2
      https://github.com/llvm/llvm-project/commit/0bdce1667f759e5f92a02025bf8c72c2e1fac7b2
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2024-11-04 (Mon, 04 Nov 2024)

  Changed paths:
    M clang/lib/AST/ItaniumMangle.cpp

  Log Message:
  -----------
  WIP: Fix mangling of call on parenthesized name that finds in block-scope

The `cp` mangling production is only to be used for cases where ADL
would otherwise occur. ADL does not occur when unqualified lookup finds
a declaration at block scope.


  Commit: 174eb90cd54463610151399c2ec28d5e6c9863c7
      https://github.com/llvm/llvm-project/commit/174eb90cd54463610151399c2ec28d5e6c9863c7
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2024-11-04 (Mon, 04 Nov 2024)

  Changed paths:
    M clang/test/CodeGenCXX/mangle-exprs.cpp

  Log Message:
  -----------
  Add test: `cl`/`cp` mangling w.r.t. block scope declarations


  Commit: 4c3366aa829aabfc5b630617aeb32427e99f35a7
      https://github.com/llvm/llvm-project/commit/4c3366aa829aabfc5b630617aeb32427e99f35a7
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2024-11-04 (Mon, 04 Nov 2024)

  Changed paths:
    M clang/lib/AST/ItaniumMangle.cpp

  Log Message:
  -----------
  Try to adjust for using declarations v1


  Commit: 9694b56ee570a5376d232971996db8f9acded7c6
      https://github.com/llvm/llvm-project/commit/9694b56ee570a5376d232971996db8f9acded7c6
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2024-11-04 (Mon, 04 Nov 2024)

  Changed paths:
    M clang/test/CodeGenCXX/mangle-exprs.cpp

  Log Message:
  -----------
  Fix test; use workaround for type canonicalization

The context-dependent nature of the mangling is broken under the status
quo due because "equivalent" dependent types need different mangling.

CWG 2946 has been opened to clarify such cases as being not equivalent.


Compare: https://github.com/llvm/llvm-project/compare/0bdce1667f75%5E...9694b56ee570

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