-
-
Notifications
You must be signed in to change notification settings - Fork 418
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
Enable CodeView debug information with MSVC on Windows #2334
Conversation
@oraoto mentioned in ponylang#2331 that debug information is not output for Pony programs on Windows. I have implemented his fix, and it seems to work for me, unlike him. Let's see what happens in CI.
…ods. Following [Rust's solution](rust-lang/rust#35991 (comment)), we make a dummy scope for primitive methods. This change also reorders some imports in codegen.h and gendebug.cc, as gendebug.h now depends on having PONY_LLVM defined.
It seems that Rust encountered the same thing when enabling CodeView last year. CodeView output doesn't like methods on non-class-like things. My latest commit fixes this. |
Just a note for this commit together with the I'm not entirely sure about this, but it seems like it changes again in LLVM 5 removing the |
…=4.0 (ponylang#2334) In LLVM 4.0, an extra parameter ExportSymbols was added to DIBuilder::createNameSpace.
That's why I made the C wrapper in |
To be clear, compilation fails. The implementation would need to be wrapped as well in that case.. |
I know, I have not yet updated my llvm500 branch to handle the various changes to that function signature. |
Alright :) |
@oraoto mentioned in #2331 that debug information is not output for Pony programs on Windows.
This PR implements CodeView debug information so that you can see functions and variables when debugging in Windows.