-
-
Notifications
You must be signed in to change notification settings - Fork 416
core.demangle fixes #15
Conversation
… imaginary numbers to be parsed correctly
Names that are not affected by "Issue 4268 - ambiguous name mangling for local functions" should be demanglable. Unfortunately, as many of std.algorithm and std.range will return nested range struct, those range primitives demangled at all.
…or variadic function is swapped Reenabled some disabled unittests
…L vs 'A') Also: Allow Unicode names to be demangled, and escape some special characters in a string literal.
Nice work! This may be too late for 2.053, but will definitely be in 2.054. |
It turns out this merge broke the linux/64 build so I've reverted it for now. I'll apply some of the changes manually and see if I can track down the problem. |
I've checked in fixes for the following issues. The rest to come later: Issue 4323 - std.demangle incorrectly handles template floating point numbers |
I've checked in fixes for these issues: Issue 5955 - core.demangle fail to parse NaN and Infinity |
Just a quick note that I'll get the other changes in. I've just been swamped with non-D work recently. |
Okay, at this point the only remaining issue in the above list that should apply to core.druntime is:
There were two that I didn't explicitly fix that seems to be working based on other changes I made:
Please let me know if you encounter any problems. I'm still debating how to handle the remaining issue about formatting integer literals. It will probably be close to what you've done however, as my goal for demangling is to make the result look as much like the original line of code as possible. |
Integer formatting should now be fixed. I believe they still won't format correctly if inside an array or AA literal, but that's as much a function of the mangling convention as it is the demangler. I'll consider all the requested tasks complete for this pull request. |
Mingw x64 compilation
Issue 4243 (part of): Float literals were demangled wrongly.
Issue 5955: Demangling of NaN and Infinity.
Issue 5956: Implemented struct literal parsing.
Issue 5967: Mangling of ArgClose for variadic function is swapped.
Unlisted bugs:
Improvements: