This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
There is nothing we can really do about this right now. Tree-profiling happens to fix it because all functions are lowered before they are attempted to be inlined, so you always have a correct block tree. Thus, i've chosen to simply generate degenerate debug info. When we can't find an abstract origin, we simply won't output one. We lose a somewhat valuable assert here (it was verifying the correctness of the order of output when we had a full block tree), but i intend to put that back on the tree-profiling branch so that it comes in again during the merge.
As for the used flag weirdities, i've simply partially reverted the last patch, in favor of making the debug writer not cut out when it sees a block without a used flag, and instead to do what it would normally do for that block, *expect* output variables.
I have documented the reason for the assert removal in the place it used to exist. I have also documented the used flag semantics for blocks as they stand now. in tree.h, for future reference.
Attachment:
fixadajava.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |