Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP [dwarf] Emit all imported modules and declarations in debug #4750

Closed
wants to merge 1 commit into from

Conversation

ibuclaw
Copy link
Member

@ibuclaw ibuclaw commented Jun 17, 2015

Complimentary PR for #4746

Needs suggestions from those who have a better understanding of DMD's backend. @yebblies @WalterBright ?

I'm looking for an ideal way to generate a symbol of some kind for an Import declaration for dwarf.c to handle, need at least following the information:

  • Real module name (ie: foo.bar)
  • The alias given to the module, if such exists (ie: baz)
  • Whether or not it is an output module (eg: set extern for modules not being emitted)

I guess this should be in a Symbol so the same routine can handle both module imports and declaration imports.

Requirements for declaration imports:

  • Real declaration name
  • The alias given to the declaration, if such exists

However, it would be a nice-to-have to also handle type imports too (structs, classes, enums). For this a stub type declaration of sorts could be used.

@ibuclaw
Copy link
Member Author

ibuclaw commented Jun 21, 2015

@WalterBright - ping. I would like to know the best way to represent an Import as a Symbol with the information I've requested for.

Thanks

@ibuclaw
Copy link
Member Author

ibuclaw commented Jun 25, 2015

It seems like it was a mistake to remove ModuleInfoDeclaration two years ago, as now I need mod->toSymbol() to generate a real Module symbol, not a ModuleInfo symbol.

@ibuclaw
Copy link
Member Author

ibuclaw commented Apr 6, 2017

Still can't make use of the scope and imports lookup feature of gdb using programs built by dmd. I don't really have the willpower to make you fix this.

@ibuclaw ibuclaw closed this Apr 6, 2017
@ibuclaw ibuclaw deleted the dwarfimp branch April 6, 2017 08:37
@WalterBright
Copy link
Member

I wish you wouldn't delete things like this.

@ibuclaw
Copy link
Member Author

ibuclaw commented Apr 6, 2017

Why, patch is still available for anyone who wants to give it a try. https://patch-diff.githubusercontent.com/raw/dlang/dmd/pull/4750.diff

If you would like a rundown on what the structure should look like in dwarf, I'm always here to help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants