C++: Fix coroutine IR inconsistencies

While here, remove some dead code related to fixed points from the database
scheme.
This commit is contained in:
Jeroen Ketema
2024-08-30 17:30:16 +02:00
parent 62766f68fc
commit 8ca52f278a
18 changed files with 10543 additions and 1406 deletions

View File

@@ -409,11 +409,18 @@ class LocalVariable extends LocalScopeVariable, @localvariable {
exists(ConditionDeclExpr e | e.getVariable() = this and e.getEnclosingFunction() = result)
or
orphaned_variables(underlyingElement(this), unresolveElement(result))
or
coroutine_placeholder_variable(underlyingElement(this), _, unresolveElement(result))
}
override predicate isStatic() {
super.isStatic() or orphaned_variables(underlyingElement(this), _)
}
override predicate isCompilerGenerated() {
super.isCompilerGenerated() or
coroutine_placeholder_variable(underlyingElement(this), _, _)
}
}
/**