Open rainers opened 7 years ago
Wouldn't you want attributes to be postfixed, and not prefixed?
Yes, that would probably be nicer, but prefixed is compatible with core.demangle.
Also, I've just noticed that my addition of options should probably strip off DMGL_TYPES in the recursive calls. Otherwise you'll get int int some.symbol(some.other.symbol)
True, the return/variable types should be stripped in symbol references.
Yes, that would probably be nicer, but prefixed is compatible with core.demangle.
But doesn't make sense for symbol search in say gdb. Though I can have another look at what flags they use, as well as other objdump/nm utilities. But I'd prefer append over prepend in the output any day.
But doesn't make sense for symbol search in say gdb.
I guess it doesn't make much sense to search the "verbose" symbols to begin with.
Though I can have another look at what flags they use, as well as other objdump/nm utilities. But I'd prefer append over prepend in the output any day.
Unfortuately, even the compiler prefers to print the attributes first:
void fn() nothrow;
pragma(msg, typeof(fn).stringof); // nothrow void()
pragma(msg, typeof(&fn).stringof); // void function() nothrow
Maybe we can add a "private" flag to the options? Nevertheless I'll change the default to append...
BTW: from demangle.h it seems that you should use DMGL_RET_DROP instead of DMGL_TYPES to drop the return type.
Updated to append the attributes, but the calling convention still has to be prepended.
I rebased this on top of dlang, just to see how it looks like with the new info
struct.