KDAB engineer Shivam Kunwar contributed a fix to LLVM/Clang that enables debuggers to display constexpr array contents in optimized builds. Previously, inspecting static constexpr arrays under -O2 showed "no symbol in current context", now GDB and LLDB show the actual values. A small but meaningful improvement for anyone debugging optimized C++. #LLVM #Clang #DebugInfo #DWARF #CPlusPlus #OpenSource

More details:
https://github.com/llvm/llvm-project/pull/182442

[DebugInfo] Emit DW_AT_const_value for constexpr array static members by phyBrackets · Pull Request #182442 · llvm/llvm-project

Clang does not emit a DW_AT_const_value in DWARF, while GCC does. This patch fixes this issue through handling Array APValues and respective handling in the backend through ConstantDataSequential F...

GitHub

Locations and combing statements.
Which location to use?
Say we have:
```
if (a)
t = STMT(b);
else
t = STMT(c);
```
We combine this into:
```
if (a)
t = b;
else
t = c;
STMT(t)
```
What location should be used for the new STMT? So with PHIs we have one extra location of the phi and the phi arguments each have a location.
So at least the location of the new phi args will be the same as the stmt/stmt originally was. But what should be the new stmt. I chose it to be location of the phi and if that does not exist either location of the stmts (if one but not both have a location).

#debuginfo #GCC #locations

Yesterday we published the next recording from the #LLVM #Meetup #Darmstadt

Alexander Hueck - Opaque Pointers and Debug Info [LLVM Meetup Darmstadt March 2023]
https://youtu.be/bQIxgYMmWn4

Go check it out to learn a bit more about #DebugInfo and #OpaquePointers in the light of a #Typechecker for #MPI programs

#HPC #ProgramAnalysis

Alexander Hueck - Opaque Pointers and Debug Info [LLVM Meetup Darmstadt March 2023]

YouTube

C++OnSea 2024 SESSION ANNOUNCEMENT: Fix Your Hardest Bugs With Ease With Time Travel Debugging by Greg Law

https://cpponsea.uk/2024/sessions/fix-your-hardest-bugs-with-ease-with-time-travel-debugging

Register now at https://cpponsea.uk/tickets/

#tooling #debuggers #debuginfo #cpp #cplusplus

Fix your hardest bugs with ease with Time Travel Debugging : C++ On Sea

Everyone knows that debugging is twice as hard as writing the code in the first place. Most of the challenge is figuring what really happened -- where reality diverged from your mental model

C++OnSea 2024 SESSION ANNOUNCEMENT: Fix Your Hardest Bugs With Ease With Time Travel Debugging by Greg Law

https://cpponsea.uk/2024/sessions/fix-your-hardest-bugs-with-ease-with-time-travel-debugging

Register now at https://cpponsea.uk/tickets/

#tooling #debuggers #debuginfo #cpp #cplusplus

Fix your hardest bugs with ease with Time Travel Debugging : C++ On Sea

Everyone knows that debugging is twice as hard as writing the code in the first place. Most of the challenge is figuring what really happened -- where reality diverged from your mental model