-
Notifications
You must be signed in to change notification settings - Fork 13.4k
[flang][debug] Unexpected Assertion `!attr.getIsRecSelf() && "unbound DI recursive self reference"' failure #128606
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
@llvm/issue-subscribers-flang-ir Author: Andre Kuhlenschmidt (akuhlens)
This seems to be another case of #122024. The example code is a lot more complicated and I wasn't able to reduce it to a single file. I can delete a fair amount of code, but but couldn't get it down to a single file without the assertion disappearing. It is interesting to note that deleting the [switch case for `type(TestCase)`](https://github.com/Goddard-Fortran-Ecosystem/pFUnit/blob/cbe21b95eff70804acfd7f5a9b68dec291781c4a/src/funit/core/TestSuite.F90#L164) allows this file to compile and then gets stuck on the next file with the same error.
|
@llvm/issue-subscribers-debuginfo Author: Andre Kuhlenschmidt (akuhlens)
This seems to be another case of #122024. The example code is a lot more complicated and I wasn't able to reduce it to a single file. I can delete a fair amount of code, but but couldn't get it down to a single file without the assertion disappearing. It is interesting to note that deleting the [switch case for `type(TestCase)`](https://github.com/Goddard-Fortran-Ecosystem/pFUnit/blob/cbe21b95eff70804acfd7f5a9b68dec291781c4a/src/funit/core/TestSuite.F90#L164) allows this file to compile and then gets stuck on the next file with the same error.
|
Thanks for reporting the issue. I will have a look. |
A further update: reverting bfd3e25 "fixes" this, though that hardly seems like the long term solution, but hopefully that gives you a little more evidence for debugging. Making any progress here? |
Thanks for this hint. The commit you mentioned was done to enable the variable debugging for things like OpenMP target region where DeclareOp is not in the entry block. I have not been able to investigate it yet but hoping to get to it next week. |
Can you kindly try this one liner patch and report if this fixes your issue.
|
While checking if a type should be cached or not, we use getDerivedType to peel outer layers to get to the base type. This function did not peel the `fir.class` which caused the algorithm to fail. Fixes llvm#128606.
Thank you! This is now working in our test suite. |
…llvm#129588) While checking if a type should be cached or not, we use `getDerivedType` to peel outer layers and get to the base type. This function did not peel the `fir.class` which caused the algorithm to fail. Fixes llvm#128606.
This seems to be another case of #122024. The example code is a lot more complicated and I wasn't able to reduce it to a single file. I can delete a fair amount of code, but but couldn't get it down to a single file without the assertion disappearing. It is interesting to note that deleting the switch case for
type(TestCase)
allows this file to compile and then gets stuck on the next file with the same error.The text was updated successfully, but these errors were encountered: