Skip to content

[cling] Desugar UsingType in GetFullyQualifiedType#22742

Open
devajithvs wants to merge 1 commit into
root-project:masterfrom
devajithvs:usingtype_desugaring
Open

[cling] Desugar UsingType in GetFullyQualifiedType#22742
devajithvs wants to merge 1 commit into
root-project:masterfrom
devajithvs:usingtype_desugaring

Conversation

@devajithvs

Copy link
Copy Markdown
Contributor

The change in getFullyQualifiedType() in the commit llvm/llvm-project@af27466 added explicit desugaring of UsingType:

  if (isa<UsingType>(QT.getTypePtr())) {
    return getFullyQualifiedType(QT.getSingleStepDesugaredType(Ctx), Ctx,
                                 WithGlobalNsPrefix);
  }

This has been there since LLVM14 and we could disentagle this from the upgrade to LLVM22.

This will cause SG::sgkey_t to be resolved to its underlying type uint32_t when GetFullTypeName() is called, rather than preserving the typedef alias name as before.

This test was added in: #19615, should fix: #12698

This Pull request:

Changes or fixes:

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

This PR fixes #

The change in getFullyQualifiedType() in the commit
llvm/llvm-project@af27466 added explicit
desugaring of UsingType:

```
  if (isa<UsingType>(QT.getTypePtr())) {
    return getFullyQualifiedType(QT.getSingleStepDesugaredType(Ctx), Ctx,
                                 WithGlobalNsPrefix);
  }
```

This has been there since LLVM14 and we could disentagle this from the
upgrade to LLVM22.

This will cause `SG::sgkey_t` to be resolved to its underlying type
`uint32_t` when GetFullTypeName() is called, rather than preserving
the typedef alias name as before.
@devajithvs devajithvs requested review from dpiparo and hahnjo as code owners July 2, 2026 08:00
@devajithvs devajithvs self-assigned this Jul 2, 2026
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

Test Results

    23 files      23 suites   3d 15h 3m 5s ⏱️
 3 874 tests  3 851 ✅ 0 💤 23 ❌
78 807 runs  78 784 ✅ 0 💤 23 ❌

For more details on these failures, see this check.

Results for commit 0abc723.

♻️ This comment has been updated with latest results.

@devajithvs devajithvs requested a review from vgvassilev July 3, 2026 14:40
@vgvassilev vgvassilev requested a review from pcanal July 3, 2026 16:52
@vgvassilev

Copy link
Copy Markdown
Member

Is this is what we really want? I am not sure if we should be losing that type sugar but @pcanal should be able to tell...

@devajithvs

Copy link
Copy Markdown
Contributor Author

This is what upstream does. We maintain a separate GetFullyQualifiedType implementation anyway. I was trying to reduce the divergence with the upgrade.

@vgvassilev

Copy link
Copy Markdown
Member

This is what upstream does. We maintain a separate GetFullyQualifiedType implementation anyway. I was trying to reduce the divergence with the upgrade.

Yes, I agree with that, let's see what @pcanal has to say if that's not breaking something in i/o conceptually.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[core] Difference in typedef/using resolution in Windows and Linux builds

2 participants