@@ -14970,3 +14970,200 @@ try_except.c:
1497014970# 40| Type = [IntType] int
1497114971# 40| ValueCategory = prvalue(load)
1497214972# 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