-
Notifications
You must be signed in to change notification settings - Fork 3
Some containers not being recognized. #1
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
Comments
Hello, |
I'm still trying to find a reproducible example with little success. If I can't find one in a few days I'll just push the repo for my current project to github and expose a not so minimal reproducible example. Meanwhile the output of my
|
I finally trimmed my project to under 50 lines of code that will still cause the error. I am not sure if all aspects of the setup are necessary, but at least it is reproducible: main.adb:
pp_test.gpr:
build/: An empty directory pp/pretty_testing.ads:
pp/pretty_testing.adb:
Put all of these in at least 2 levels of nested directories, then cd to the directory with the gpr configuration file, run I'm not sure if its the task causing issues, or the weird file nesting, or maybe the fact that the executable is in a different directory, but this causes the problem regularly for me. |
Ah, I see, thanks. It seems that just having GCC FSF 7.2.1 is enough to break pretty-printers for hashed containers. This is unfortunately not a surprise: as we say in the README:
This describes the situation we have here: a “recent” commit in GNAT changed the implementation of containers, requiring a pretty-printer update, breaking compatibility with older toolchains. I’m not sure yet how we should make the GDB scripts support multiple GCC versions (and properly test that support!). Note that the corresponding GNAT commit was already ported at the FSF (https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=c80119a08770ac28848c33525a5b343b681495d3), so all will work well with the upcoming GCC 8 release. In the meantime, this temporary branch should work for you. Can you confirm? |
While using these pretty printers to debug a compiler I am writing I realized that many containers weren't pretty printed. In particular I was able to write:
Which is unusual because macros is a hash_map and should be pretty printed, but isn't. Meanwhile next data value is an unbounded string and is pretty printed as expected.
Unfortunately I have not yet come up with a minimal example that causes this, but as soon as I do I will post it here as well. I suspect this is some bug about nesting of child packages with new names, as the containers in question have keys and elements of compound types and are declared within child packages.
The text was updated successfully, but these errors were encountered: