mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
Merge pull request #15937 from jketema/destructors14
C++: Handle destructors of temporaries with extended lifetimes
This commit is contained in:
@@ -1883,6 +1883,12 @@ destructors_for_temps.cpp:
|
||||
# 30| Type = [Class] ClassWithDestructor2
|
||||
# 30| ValueCategory = lvalue
|
||||
# 31| getStmt(1): [ReturnStmt] return ...
|
||||
# 31| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2
|
||||
# 31| Type = [VoidType] void
|
||||
# 31| ValueCategory = prvalue
|
||||
# 31| getQualifier(): [ReuseExpr] reuse of temporary object
|
||||
# 31| Type = [Class] ClassWithDestructor2
|
||||
# 31| ValueCategory = xvalue
|
||||
# 33| [TopLevelFunction] void temp_test4()
|
||||
# 33| <params>:
|
||||
# 33| getEntryPoint(): [BlockStmt] { ... }
|
||||
@@ -1914,6 +1920,12 @@ destructors_for_temps.cpp:
|
||||
# 36| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor2
|
||||
# 36| Type = [VoidType] void
|
||||
# 36| ValueCategory = prvalue
|
||||
# 36| getQualifier(): [ReuseExpr] reuse of temporary object
|
||||
# 36| Type = [Class] ClassWithDestructor2
|
||||
# 36| ValueCategory = xvalue
|
||||
# 36| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor2
|
||||
# 36| Type = [VoidType] void
|
||||
# 36| ValueCategory = prvalue
|
||||
# 36| getQualifier(): [VariableAccess] c
|
||||
# 36| Type = [Class] ClassWithDestructor2
|
||||
# 36| ValueCategory = lvalue
|
||||
@@ -11743,6 +11755,12 @@ ir.cpp:
|
||||
# 1426| getImplicitDestructorCall(0): [DestructorCall] call to ~String
|
||||
# 1426| Type = [VoidType] void
|
||||
# 1426| ValueCategory = prvalue
|
||||
# 1426| getQualifier(): [ReuseExpr] reuse of temporary object
|
||||
# 1426| Type = [Struct] String
|
||||
# 1426| ValueCategory = xvalue
|
||||
# 1426| getImplicitDestructorCall(1): [DestructorCall] call to ~String
|
||||
# 1426| Type = [VoidType] void
|
||||
# 1426| ValueCategory = prvalue
|
||||
# 1426| getQualifier(): [VariableAccess] s
|
||||
# 1426| Type = [Struct] String
|
||||
# 1426| ValueCategory = lvalue
|
||||
@@ -11838,6 +11856,12 @@ ir.cpp:
|
||||
# 1438| getImplicitDestructorCall(1): [DestructorCall] call to ~destructor_only
|
||||
# 1438| Type = [VoidType] void
|
||||
# 1438| ValueCategory = prvalue
|
||||
# 1438| getQualifier(): [ReuseExpr] reuse of temporary object
|
||||
# 1438| Type = [Class] destructor_only
|
||||
# 1438| ValueCategory = xvalue
|
||||
# 1438| getImplicitDestructorCall(2): [DestructorCall] call to ~destructor_only
|
||||
# 1438| Type = [VoidType] void
|
||||
# 1438| ValueCategory = prvalue
|
||||
# 1438| getQualifier(): [VariableAccess] d
|
||||
# 1438| Type = [Class] destructor_only
|
||||
# 1438| ValueCategory = lvalue
|
||||
|
||||
Reference in New Issue
Block a user