Thread overview
[Issue 13915] Mago doesn't handle C code very well
Jan 01, 2015
Rainer Schuetze
Jan 02, 2015
Manu
Jan 02, 2015
Rainer Schuetze
May 18, 2015
Rainer Schuetze
Jan 24, 2017
Rainer Schuetze
January 01, 2015
https://issues.dlang.org/show_bug.cgi?id=13915

Rainer Schuetze <r.sagitario@gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |r.sagitario@gmx.de

--- Comment #1 from Rainer Schuetze <r.sagitario@gmx.de> ---
I guess the arguments are still in registers while stepping through C code. Mago might not support that too well.

We cannot support C/C++ completely, not sure where to draw the line. It would be best to have some mixed mode with the C++ part handled by the VS debugger, but I'm not aware of that being possible (the C#/C++ mixed mode debugger is just another engine).

--
January 02, 2015
https://issues.dlang.org/show_bug.cgi?id=13915

--- Comment #2 from Manu <turkeyman@gmail.com> ---
Yeah, I don't know that mixed mode with different debuggers is possible.

I suspect, sadly, it's just going to be a long and slow process of making Mago support relevant C/C++ cases as they arise, such that in the end, it becomes a useful mixed-mode debugger of it's own.

For me personally, I probably use a rather small subset of C/C++ debugger features. I barely use templates or modern language features in C++, and that's probably the majority of the complexity.


What do you know about LLDB? If Clang can output COFF and CV8/PDB, does that
mean LLDB can read those formats?
Do you foresee a time where we may be able to create a Visual Studio shim for
LLDB?

--
January 02, 2015
https://issues.dlang.org/show_bug.cgi?id=13915

--- Comment #3 from Rainer Schuetze <r.sagitario@gmx.de> ---
Some basic features like variable lifetime/register support should help D too, though dmd doesn't output that info yet. So C style code might be workable.

I guess COFF/CV8 support for clang is meant to integrate clang into the VS world, not to support it in lldb. At last years CppCon, I met a few people from Google that were assigned to improve Clang's Windows experience including full debug support.

--
May 18, 2015
https://issues.dlang.org/show_bug.cgi?id=13915

--- Comment #4 from Rainer Schuetze <r.sagitario@gmx.de> ---
The lexical scope support in mago might help here. Try it in Visual D 0.3.41.

--
June 09, 2015
https://issues.dlang.org/show_bug.cgi?id=13915

Andrei Alexandrescu <andrei@erdani.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|unspecified                 |D2

--
January 24, 2017
https://issues.dlang.org/show_bug.cgi?id=13915

Rainer Schuetze <r.sagitario@gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #5 from Rainer Schuetze <r.sagitario@gmx.de> ---
Mago treats "->" as "." now. With the new Concord integration C/C++ and D should no longer interfere, so work on supporting C in mago is futile.

--