<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/lldb/source/Core/Mangled.cpp, branch users/nico/python-2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[Demangling] Refactor Demangler range tracking (#140762)</title>
<updated>2025-05-28T12:53:02+00:00</updated>
<author>
<name>Charles Zablit</name>
<email>zablitcharles@gmail.com</email>
</author>
<published>2025-05-28T12:53:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b8997c07d9783bbf81bf144b5982d43ba804f5ac'/>
<id>b8997c07d9783bbf81bf144b5982d43ba804f5ac</id>
<content type='text'>
This PR is a subset of the commits made in
https://github.com/swiftlang/llvm-project/pull/10710.

The most notable change is the addition of `PrefixRange` and
`SuffixRange` which are a catch-all to track anything after or before a
function's demangled name. In the case of Swift, this allows to add
support for name highlighting without having to track the range of the
scope and specifiers of a function (this will come in another PR).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR is a subset of the commits made in
https://github.com/swiftlang/llvm-project/pull/10710.

The most notable change is the addition of `PrefixRange` and
`SuffixRange` which are a catch-all to track anything after or before a
function's demangled name. In the case of Swift, this allows to add
support for name highlighting without having to track the range of the
scope and specifiers of a function (this will come in another PR).</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb][Mangled] Retrieve and cache demangled name info (#131836)</title>
<updated>2025-04-25T09:04:27+00:00</updated>
<author>
<name>Michael Buch</name>
<email>michaelbuch12@gmail.com</email>
</author>
<published>2025-04-07T12:54:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a2672250be871bdac18c1a955265a98704434218'/>
<id>a2672250be871bdac18c1a955265a98704434218</id>
<content type='text'>
Uses the `TrackingOutputBuffer` to populate the new member `Mangled::m_demangled_info`.

`m_demangled_info` is lazily popluated by `GetDemangledInfo`. To ensure `m_demangled` and `m_demangled_info` are in-sync we clear `m_demangled_info` anytime `m_demangled` is set/cleared.

https://github.com/llvm/llvm-project/pull/131836
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Uses the `TrackingOutputBuffer` to populate the new member `Mangled::m_demangled_info`.

`m_demangled_info` is lazily popluated by `GetDemangledInfo`. To ensure `m_demangled` and `m_demangled_info` are in-sync we clear `m_demangled_info` anytime `m_demangled` is set/cleared.

https://github.com/llvm/llvm-project/pull/131836
</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb][Mangled] Add API to force re-demangling a Mangled object (#131836)</title>
<updated>2025-04-25T09:04:27+00:00</updated>
<author>
<name>Michael Buch</name>
<email>michaelbuch12@gmail.com</email>
</author>
<published>2025-03-10T15:39:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f220ea2947b9c8b1e33db65b008086d47fa72af3'/>
<id>f220ea2947b9c8b1e33db65b008086d47fa72af3</id>
<content type='text'>
Add version of GetDemangledName that will force re-demangling. This is required because LLDB will SetDemangledName without going through the demangler. So we need a way to force demangling to set the m_demangled_info member when we need it.

https://github.com/llvm/llvm-project/pull/131836
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add version of GetDemangledName that will force re-demangling. This is required because LLDB will SetDemangledName without going through the demangler. So we need a way to force demangling to set the m_demangled_info member when we need it.

https://github.com/llvm/llvm-project/pull/131836
</pre>
</div>
</content>
</entry>
<entry>
<title>[LLDB] Reapply refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies (#135033)</title>
<updated>2025-04-14T10:30:09+00:00</updated>
<author>
<name>Dmitry Vasilyev</name>
<email>dvassiliev@accesssoftek.com</email>
</author>
<published>2025-04-14T10:30:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e4a672bc17a2a7dc39e51c9f5e656d705312a12b'/>
<id>e4a672bc17a2a7dc39e51c9f5e656d705312a12b</id>
<content type='text'>
The original PR is #132274.

Co-authored-by: @bulbazord Alex Langford</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The original PR is #132274.

Co-authored-by: @bulbazord Alex Langford</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[LLDB] Refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies" (#134995)</title>
<updated>2025-04-09T12:16:23+00:00</updated>
<author>
<name>David Spickett</name>
<email>david.spickett@linaro.org</email>
</author>
<published>2025-04-09T12:16:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a29be9f28e8e0d4ca7a8a3cfdffe616ac780c754'/>
<id>a29be9f28e8e0d4ca7a8a3cfdffe616ac780c754</id>
<content type='text'>
Reverts llvm/llvm-project#132274

Broke a test on LLDB Widows on Arm:
https://lab.llvm.org/buildbot/#/builders/141/builds/7726
```
FAIL: test_dwarf (lldbsuite.test.lldbtest.TestExternCSymbols.test_dwarf)
&lt;...&gt;
    self.assertTrue(self.res.Succeeded(), msg + output)

AssertionError: False is not true : Command 'expression -- foo()' did not return successfully

Error output:

error: Couldn't look up symbols:

  int foo(void)

Hint: The expression tried to call a function that is not present in the target, perhaps because it was optimized out by the compiler.
```</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts llvm/llvm-project#132274

Broke a test on LLDB Widows on Arm:
https://lab.llvm.org/buildbot/#/builders/141/builds/7726
```
FAIL: test_dwarf (lldbsuite.test.lldbtest.TestExternCSymbols.test_dwarf)
&lt;...&gt;
    self.assertTrue(self.res.Succeeded(), msg + output)

AssertionError: False is not true : Command 'expression -- foo()' did not return successfully

Error output:

error: Couldn't look up symbols:

  int foo(void)

Hint: The expression tried to call a function that is not present in the target, perhaps because it was optimized out by the compiler.
```</pre>
</div>
</content>
</entry>
<entry>
<title>[LLDB] Refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies (#132274)</title>
<updated>2025-04-09T05:11:56+00:00</updated>
<author>
<name>Dmitry Vasilyev</name>
<email>dvassiliev@accesssoftek.com</email>
</author>
<published>2025-04-09T05:11:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fbc6241d3af45d74ac8e8d3728a57435aab1d5ec'/>
<id>fbc6241d3af45d74ac8e8d3728a57435aab1d5ec</id>
<content type='text'>
This patch addresses the issue #129543.
After this patch the size of lldb-server is reduced by 9MB.

Co-authored-by: @bulbazord Alex Langford</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch addresses the issue #129543.
After this patch the size of lldb-server is reduced by 9MB.

Co-authored-by: @bulbazord Alex Langford</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb][Mangled] Use early-return style in GetDemangledName (#130622)</title>
<updated>2025-03-11T08:12:46+00:00</updated>
<author>
<name>Michael Buch</name>
<email>michaelbuch12@gmail.com</email>
</author>
<published>2025-03-11T08:12:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7ecb0d03a4d78357adc35137a3109ee305ac4fff'/>
<id>7ecb0d03a4d78357adc35137a3109ee305ac4fff</id>
<content type='text'>
This patch refactors `Mangled::GetDemangledName` to use LLVM's preferred
early-return style. I'm planning on introducing a way to force
re-demangling of names in a future patch, and this stylisitc cleanup
makes that easier to reason about.

Also performed small cleanups where I could:
* we can handle `eManglingSchemeNone` inside the switch instead of a
separate if-block
* removed some redundant explicit StringRef&lt;-&gt;C-string conversions</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch refactors `Mangled::GetDemangledName` to use LLVM's preferred
early-return style. I'm planning on introducing a way to force
re-demangling of names in a future patch, and this stylisitc cleanup
makes that easier to reason about.

Also performed small cleanups where I could:
* we can handle `eManglingSchemeNone` inside the switch instead of a
separate if-block
* removed some redundant explicit StringRef&lt;-&gt;C-string conversions</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb] Recognize embedded Swift mangling in Mangled::GetManglingScheme</title>
<updated>2025-01-15T23:19:30+00:00</updated>
<author>
<name>Augusto Noronha</name>
<email>anoronha@apple.com</email>
</author>
<published>2025-01-07T21:47:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3241d915b1b8257fd6234461b04e4775fc7ed9fb'/>
<id>3241d915b1b8257fd6234461b04e4775fc7ed9fb</id>
<content type='text'>
rdar://142329765
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
rdar://142329765
</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb] Fix Dlang symbol test breakage (#94046)</title>
<updated>2024-05-31T21:04:40+00:00</updated>
<author>
<name>Dave Lee</name>
<email>davelee.com@gmail.com</email>
</author>
<published>2024-05-31T21:04:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=68fdc1cf87eb04686e079af27eaeec0f1c41f8cc'/>
<id>68fdc1cf87eb04686e079af27eaeec0f1c41f8cc</id>
<content type='text'>
Follow up to #93881. Updates missed tests and handles `_Dmain`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Follow up to #93881. Updates missed tests and handles `_Dmain`.
</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb] Improve identification of Dlang mangled names (#93881)</title>
<updated>2024-05-31T18:20:23+00:00</updated>
<author>
<name>Dave Lee</name>
<email>davelee.com@gmail.com</email>
</author>
<published>2024-05-31T18:20:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5a02a9a2e67444494f086dfe1cd6f15ba2210bc0'/>
<id>5a02a9a2e67444494f086dfe1cd6f15ba2210bc0</id>
<content type='text'>
Reduce false positive identification of C names as Dlang mangled names. This happens 
when a C function uses the prefix `_D`.

The [Dlang ABI](https://dlang.org/spec/abi.html#name_mangling) shows that mangled names 
have a length immediately following the `_D` prefix. This change checks for a digit 
after the `_D` prefix, when identifying the mangling scheme of a symbol. This doesn't 
prevent false positives entirely, but does make it less likely.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reduce false positive identification of C names as Dlang mangled names. This happens 
when a C function uses the prefix `_D`.

The [Dlang ABI](https://dlang.org/spec/abi.html#name_mangling) shows that mangled names 
have a length immediately following the `_D` prefix. This change checks for a digit 
after the `_D` prefix, when identifying the mangling scheme of a symbol. This doesn't 
prevent false positives entirely, but does make it less likely.
</pre>
</div>
</content>
</entry>
</feed>
