@@ -14970,3 +14970,200 @@ try_except.c:
14970
14970
# 40| Type = [IntType] int
14971
14971
# 40| ValueCategory = prvalue(load)
14972
14972
# 42| getStmt(2): [ReturnStmt] return ...
14973
+ try_except.cpp:
14974
+ # 3| [TopLevelFunction] void ProbeFunction()
14975
+ # 3| <params>:
14976
+ # 4| [TopLevelFunction] void sink()
14977
+ # 4| <params>:
14978
+ # 6| [TopLevelFunction] void f_cpp()
14979
+ # 6| <params>:
14980
+ # 6| getEntryPoint(): [BlockStmt] { ... }
14981
+ # 7| getStmt(0): [DeclStmt] declaration
14982
+ # 7| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x
14983
+ # 7| Type = [IntType] int
14984
+ # 7| getDeclarationEntry(1): [VariableDeclarationEntry] definition of y
14985
+ # 7| Type = [IntType] int
14986
+ # 7| getVariable().getInitializer(): [Initializer] initializer for y
14987
+ # 7| getExpr(): [Literal] 0
14988
+ # 7| Type = [IntType] int
14989
+ # 7| Value = [Literal] 0
14990
+ # 7| ValueCategory = prvalue
14991
+ # 8| getStmt(1): [MicrosoftTryExceptStmt] __try { ... } __except( ... ) { ... }
14992
+ # 8| getStmt(): [BlockStmt] { ... }
14993
+ # 9| getStmt(0): [ExprStmt] ExprStmt
14994
+ # 9| getExpr(): [FunctionCall] call to ProbeFunction
14995
+ # 9| Type = [VoidType] void
14996
+ # 9| ValueCategory = prvalue
14997
+ # 9| getArgument(0): [Literal] 0
14998
+ # 9| Type = [IntType] int
14999
+ # 9| Value = [Literal] 0
15000
+ # 9| ValueCategory = prvalue
15001
+ # 10| getStmt(1): [ExprStmt] ExprStmt
15002
+ # 10| getExpr(): [AssignExpr] ... = ...
15003
+ # 10| Type = [IntType] int
15004
+ # 10| ValueCategory = lvalue
15005
+ # 10| getLValue(): [VariableAccess] x
15006
+ # 10| Type = [IntType] int
15007
+ # 10| ValueCategory = lvalue
15008
+ # 10| getRValue(): [VariableAccess] y
15009
+ # 10| Type = [IntType] int
15010
+ # 10| ValueCategory = prvalue(load)
15011
+ # 11| getStmt(2): [ExprStmt] ExprStmt
15012
+ # 11| getExpr(): [FunctionCall] call to ProbeFunction
15013
+ # 11| Type = [VoidType] void
15014
+ # 11| ValueCategory = prvalue
15015
+ # 11| getArgument(0): [Literal] 0
15016
+ # 11| Type = [IntType] int
15017
+ # 11| Value = [Literal] 0
15018
+ # 11| ValueCategory = prvalue
15019
+ # 13| getCondition(): [Literal] 0
15020
+ # 13| Type = [IntType] int
15021
+ # 13| Value = [Literal] 0
15022
+ # 13| ValueCategory = prvalue
15023
+ # 13| getExcept(): [BlockStmt] { ... }
15024
+ # 14| getStmt(0): [ExprStmt] ExprStmt
15025
+ # 14| getExpr(): [FunctionCall] call to sink
15026
+ # 14| Type = [VoidType] void
15027
+ # 14| ValueCategory = prvalue
15028
+ # 14| getArgument(0): [VariableAccess] x
15029
+ # 14| Type = [IntType] int
15030
+ # 14| ValueCategory = prvalue(load)
15031
+ # 16| getStmt(2): [ReturnStmt] return ...
15032
+ # 18| [TopLevelFunction] void g_cpp()
15033
+ # 18| <params>:
15034
+ # 18| getEntryPoint(): [BlockStmt] { ... }
15035
+ # 19| getStmt(0): [DeclStmt] declaration
15036
+ # 19| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x
15037
+ # 19| Type = [IntType] int
15038
+ # 19| getDeclarationEntry(1): [VariableDeclarationEntry] definition of y
15039
+ # 19| Type = [IntType] int
15040
+ # 19| getVariable().getInitializer(): [Initializer] initializer for y
15041
+ # 19| getExpr(): [Literal] 0
15042
+ # 19| Type = [IntType] int
15043
+ # 19| Value = [Literal] 0
15044
+ # 19| ValueCategory = prvalue
15045
+ # 20| getStmt(1): [MicrosoftTryFinallyStmt] __try { ... } __finally { ... }
15046
+ # 20| getStmt(): [BlockStmt] { ... }
15047
+ # 21| getStmt(0): [ExprStmt] ExprStmt
15048
+ # 21| getExpr(): [FunctionCall] call to ProbeFunction
15049
+ # 21| Type = [VoidType] void
15050
+ # 21| ValueCategory = prvalue
15051
+ # 21| getArgument(0): [Literal] 0
15052
+ # 21| Type = [IntType] int
15053
+ # 21| Value = [Literal] 0
15054
+ # 21| ValueCategory = prvalue
15055
+ # 22| getStmt(1): [ExprStmt] ExprStmt
15056
+ # 22| getExpr(): [AssignExpr] ... = ...
15057
+ # 22| Type = [IntType] int
15058
+ # 22| ValueCategory = lvalue
15059
+ # 22| getLValue(): [VariableAccess] x
15060
+ # 22| Type = [IntType] int
15061
+ # 22| ValueCategory = lvalue
15062
+ # 22| getRValue(): [VariableAccess] y
15063
+ # 22| Type = [IntType] int
15064
+ # 22| ValueCategory = prvalue(load)
15065
+ # 23| getStmt(2): [ExprStmt] ExprStmt
15066
+ # 23| getExpr(): [FunctionCall] call to ProbeFunction
15067
+ # 23| Type = [VoidType] void
15068
+ # 23| ValueCategory = prvalue
15069
+ # 23| getArgument(0): [Literal] 0
15070
+ # 23| Type = [IntType] int
15071
+ # 23| Value = [Literal] 0
15072
+ # 23| ValueCategory = prvalue
15073
+ # 25| getFinally(): [BlockStmt] { ... }
15074
+ # 26| getStmt(0): [ExprStmt] ExprStmt
15075
+ # 26| getExpr(): [FunctionCall] call to sink
15076
+ # 26| Type = [VoidType] void
15077
+ # 26| ValueCategory = prvalue
15078
+ # 26| getArgument(0): [VariableAccess] x
15079
+ # 26| Type = [IntType] int
15080
+ # 26| ValueCategory = prvalue(load)
15081
+ # 28| getStmt(2): [ReturnStmt] return ...
15082
+ # 30| [TopLevelFunction] void AfxThrowMemoryException()
15083
+ # 30| <params>:
15084
+ # 32| [TopLevelFunction] void h_cpp(int)
15085
+ # 32| <params>:
15086
+ # 32| getParameter(0): [Parameter] b
15087
+ # 32| Type = [IntType] int
15088
+ # 32| getEntryPoint(): [BlockStmt] { ... }
15089
+ # 33| getStmt(0): [DeclStmt] declaration
15090
+ # 33| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x
15091
+ # 33| Type = [IntType] int
15092
+ # 33| getVariable().getInitializer(): [Initializer] initializer for x
15093
+ # 33| getExpr(): [Literal] 0
15094
+ # 33| Type = [IntType] int
15095
+ # 33| Value = [Literal] 0
15096
+ # 33| ValueCategory = prvalue
15097
+ # 34| getStmt(1): [MicrosoftTryExceptStmt] __try { ... } __except( ... ) { ... }
15098
+ # 34| getStmt(): [BlockStmt] { ... }
15099
+ # 35| getStmt(0): [IfStmt] if (...) ...
15100
+ # 35| getCondition(): [VariableAccess] b
15101
+ # 35| Type = [IntType] int
15102
+ # 35| ValueCategory = prvalue(load)
15103
+ # 35| getThen(): [BlockStmt] { ... }
15104
+ # 36| getStmt(0): [ExprStmt] ExprStmt
15105
+ # 36| getExpr(): [FunctionCall] call to AfxThrowMemoryException
15106
+ # 36| Type = [VoidType] void
15107
+ # 36| ValueCategory = prvalue
15108
+ # 35| getCondition().getFullyConverted(): [CStyleCast] (bool)...
15109
+ # 35| Conversion = [BoolConversion] conversion to bool
15110
+ # 35| Type = [BoolType] bool
15111
+ # 35| ValueCategory = prvalue
15112
+ # 39| getCondition(): [Literal] 1
15113
+ # 39| Type = [IntType] int
15114
+ # 39| Value = [Literal] 1
15115
+ # 39| ValueCategory = prvalue
15116
+ # 39| getExcept(): [BlockStmt] { ... }
15117
+ # 40| getStmt(0): [ExprStmt] ExprStmt
15118
+ # 40| getExpr(): [FunctionCall] call to sink
15119
+ # 40| Type = [VoidType] void
15120
+ # 40| ValueCategory = prvalue
15121
+ # 40| getArgument(0): [VariableAccess] x
15122
+ # 40| Type = [IntType] int
15123
+ # 40| ValueCategory = prvalue(load)
15124
+ # 42| getStmt(2): [ReturnStmt] return ...
15125
+ # 44| [TopLevelFunction] void throw_cpp(int)
15126
+ # 44| <params>:
15127
+ # 44| getParameter(0): [Parameter] b
15128
+ # 44| Type = [IntType] int
15129
+ # 44| getEntryPoint(): [BlockStmt] { ... }
15130
+ # 45| getStmt(0): [DeclStmt] declaration
15131
+ # 45| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x
15132
+ # 45| Type = [IntType] int
15133
+ # 45| getVariable().getInitializer(): [Initializer] initializer for x
15134
+ # 45| getExpr(): [Literal] 0
15135
+ # 45| Type = [IntType] int
15136
+ # 45| Value = [Literal] 0
15137
+ # 45| ValueCategory = prvalue
15138
+ # 46| getStmt(1): [MicrosoftTryExceptStmt] __try { ... } __except( ... ) { ... }
15139
+ # 46| getStmt(): [BlockStmt] { ... }
15140
+ # 47| getStmt(0): [IfStmt] if (...) ...
15141
+ # 47| getCondition(): [VariableAccess] b
15142
+ # 47| Type = [IntType] int
15143
+ # 47| ValueCategory = prvalue(load)
15144
+ # 47| getThen(): [BlockStmt] { ... }
15145
+ # 48| getStmt(0): [ExprStmt] ExprStmt
15146
+ # 48| getExpr(): [ThrowExpr] throw ...
15147
+ # 48| Type = [IntType] int
15148
+ # 48| ValueCategory = prvalue
15149
+ # 48| getExpr(): [Literal] 1
15150
+ # 48| Type = [IntType] int
15151
+ # 48| Value = [Literal] 1
15152
+ # 48| ValueCategory = prvalue
15153
+ # 47| getCondition().getFullyConverted(): [CStyleCast] (bool)...
15154
+ # 47| Conversion = [BoolConversion] conversion to bool
15155
+ # 47| Type = [BoolType] bool
15156
+ # 47| ValueCategory = prvalue
15157
+ # 51| getCondition(): [Literal] 1
15158
+ # 51| Type = [IntType] int
15159
+ # 51| Value = [Literal] 1
15160
+ # 51| ValueCategory = prvalue
15161
+ # 51| getExcept(): [BlockStmt] { ... }
15162
+ # 52| getStmt(0): [ExprStmt] ExprStmt
15163
+ # 52| getExpr(): [FunctionCall] call to sink
15164
+ # 52| Type = [VoidType] void
15165
+ # 52| ValueCategory = prvalue
15166
+ # 52| getArgument(0): [VariableAccess] x
15167
+ # 52| Type = [IntType] int
15168
+ # 52| ValueCategory = prvalue(load)
15169
+ # 54| getStmt(2): [ReturnStmt] return ...
0 commit comments