diff --git a/infer/src/clang/cFrontend_utils.ml b/infer/src/clang/cFrontend_utils.ml index 1e0eccc6f..661af960c 100644 --- a/infer/src/clang/cFrontend_utils.ml +++ b/infer/src/clang/cFrontend_utils.ml @@ -146,8 +146,8 @@ struct | [] -> "" | name :: quals -> let s = (IList.fold_right (fun el res -> res ^ el ^ "::") quals "") ^ name in - let no_slash = Str.global_replace (Str.regexp "/") "_" s in - no_slash + let no_slash_space = Str.global_replace (Str.regexp "[/ ]") "_" s in + no_slash_space let get_qualified_name name_info = fold_qual_name name_info.Clang_ast_t.ni_qual_name diff --git a/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.c.dot b/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.c.dot index 8b138bc04..30b84f63a 100644 --- a/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.c.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -7 [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:struct (anonymous struct at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.c:12:1) * [line 32]\n *n$3.a:int =1 [line 32]\n " shape="box"] +7 [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:struct (anonymous_struct_at_infer_tests_codetoanalyze_c_frontend_nestedoperators_union.c:12:1) * [line 32]\n *n$3.a:int =1 [line 32]\n " shape="box"] 7 -> 6 ; @@ -12,7 +12,7 @@ digraph iCFG { 5 -> 4 ; -4 [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:struct (anonymous struct at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.c:12:1) * [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB$y.g.w:int =n$1 [line 36]\n " shape="box"] +4 [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:struct (anonymous_struct_at_infer_tests_codetoanalyze_c_frontend_nestedoperators_union.c:12:1) * [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB$y.g.w:int =n$1 [line 36]\n " shape="box"] 4 -> 3 ; diff --git a/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.cpp.dot b/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.cpp.dot index f5368250f..97e40ebe0 100644 --- a/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.cpp.dot +++ b/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.cpp.dot @@ -1,6 +1,6 @@ /* @generated */ digraph iCFG { -9 [label="9: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:class (anonymous struct at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:12:1) * [line 32]\n *n$3.a:int =1 [line 32]\n " shape="box"] +9 [label="9: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:class (anonymous_struct_at_infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:12:1) * [line 32]\n *n$3.a:int =1 [line 32]\n " shape="box"] 9 -> 8 ; @@ -12,7 +12,7 @@ digraph iCFG { 7 -> 6 ; -6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:class (anonymous struct at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:12:1) * [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB$y.g.w:int =n$1 [line 36]\n " shape="box"] +6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:class (anonymous_struct_at_infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:12:1) * [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB$y.g.w:int =n$1 [line 36]\n " shape="box"] 6 -> 5 ; @@ -27,10 +27,10 @@ digraph iCFG { 3 -> 9 ; -2 [label="2: Exit (anonymous union at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:17:1)_ \n " color=yellow style=filled] +2 [label="2: Exit (anonymous_union_at_infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:17:1)_ \n " color=yellow style=filled] -1 [label="1: Start (anonymous union at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:17:1)_\nFormals: this:class (anonymous union at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:17:1) *\nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled] +1 [label="1: Start (anonymous_union_at_infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:17:1)_\nFormals: this:class (anonymous_union_at_infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:17:1) *\nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled] 1 -> 2 ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/conditional/binary_conditional.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/conditional/binary_conditional.cpp.dot index dc61bf3ad..4721b4501 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/conditional/binary_conditional.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/conditional/binary_conditional.cpp.dot @@ -24,7 +24,7 @@ digraph iCFG { 29 -> 31 ; -28 [label="28: Call _fun_X_operator bool \n _fun_getX(&0$?%__sil_tmp__temp_return_n$3:class X *) [line 27]\n n$4=_fun_X_operator bool(&0$?%__sil_tmp__temp_return_n$3:class X &) [line 27]\n " shape="box"] +28 [label="28: Call _fun_X_operator_bool \n _fun_getX(&0$?%__sil_tmp__temp_return_n$3:class X *) [line 27]\n n$4=_fun_X_operator_bool(&0$?%__sil_tmp__temp_return_n$3:class X &) [line 27]\n " shape="box"] 28 -> 29 ; @@ -68,7 +68,7 @@ digraph iCFG { 18 -> 20 ; -17 [label="17: Call _fun_X_operator bool \n n$3=_fun_X_operator bool(&0$?%__sil_tmpSIL_materialize_temp__n$0:class X &) [line 22]\n " shape="box"] +17 [label="17: Call _fun_X_operator_bool \n n$3=_fun_X_operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$0:class X &) [line 22]\n " shape="box"] 17 -> 18 ; @@ -124,10 +124,10 @@ digraph iCFG { 3 -> 2 ; -2 [label="2: Exit X_operator bool \n " color=yellow style=filled] +2 [label="2: Exit X_operator_bool \n " color=yellow style=filled] -1 [label="1: Start X_operator bool\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled] +1 [label="1: Start X_operator_bool\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled] 1 -> 3 ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/pseudo_destructor_expr.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/pseudo_destructor_expr.cpp.dot index 31cc077dd..d6628341c 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/pseudo_destructor_expr.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/pseudo_destructor_expr.cpp.dot @@ -4,7 +4,7 @@ digraph iCFG { 13 -> 12 ; -12 [label="12: Call _fun_destroy \n n$0=_fun_destroy(&t:int **) [line 25]\n " shape="box"] +12 [label="12: Call _fun_destroy \n n$0=_fun_destroy(&t:int **) [line 25]\n " shape="box"] 12 -> 11 ; @@ -23,10 +23,10 @@ digraph iCFG { 8 -> 7 ; -7 [label="7: Exit destroy \n " color=yellow style=filled] +7 [label="7: Exit destroy \n " color=yellow style=filled] -6 [label="6: Start destroy\nFormals: ptr:int **\nLocals: \n DECLARE_LOCALS(&return); [line 18]\n " color=yellow style=filled] +6 [label="6: Start destroy\nFormals: ptr:int **\nLocals: \n DECLARE_LOCALS(&return); [line 18]\n " color=yellow style=filled] 6 -> 9 ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/literals/scalar_value_init.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/literals/scalar_value_init.cpp.dot index e9e72899f..2aac5d472 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/literals/scalar_value_init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/literals/scalar_value_init.cpp.dot @@ -8,7 +8,7 @@ digraph iCFG { 22 -> 21 ; -21 [label="21: DeclStmt \n n$1=_fun_get() [line 20]\n *&fp:float *=n$1 [line 20]\n " shape="box"] +21 [label="21: DeclStmt \n n$1=_fun_get() [line 20]\n *&fp:float *=n$1 [line 20]\n " shape="box"] 21 -> 20 ; @@ -57,10 +57,10 @@ digraph iCFG { 9 -> 8 ; -8 [label="8: Exit get \n " color=yellow style=filled] +8 [label="8: Exit get \n " color=yellow style=filled] -7 [label="7: Start get\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] +7 [label="7: Start get\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] 7 -> 9 ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/methods/conversion_operator.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/methods/conversion_operator.cpp.dot index 7010a68c9..cdbb10aa8 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/methods/conversion_operator.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/methods/conversion_operator.cpp.dot @@ -4,7 +4,7 @@ digraph iCFG { 61 -> 56 ; -60 [label="60: DeclStmt \n _=*&x:class X [line 64]\n n$6=_fun_X_operator int(&x:class X &) [line 64]\n *&v:int =n$6 [line 64]\n " shape="box"] +60 [label="60: DeclStmt \n _=*&x:class X [line 64]\n n$6=_fun_X_operator_int(&x:class X &) [line 64]\n *&v:int =n$6 [line 64]\n " shape="box"] 60 -> 59 ; @@ -20,7 +20,7 @@ digraph iCFG { 57 -> 60 ; -56 [label="56: Call _fun_X_operator bool \n _=*&x:class X [line 63]\n n$3=_fun_X_operator bool(&x:class X &) [line 63]\n " shape="box"] +56 [label="56: Call _fun_X_operator_bool \n _=*&x:class X [line 63]\n n$3=_fun_X_operator_bool(&x:class X &) [line 63]\n " shape="box"] 56 -> 57 ; @@ -29,7 +29,7 @@ digraph iCFG { 55 -> 54 ; -54 [label="54: Return Stmt \n _=*&x:class X [line 67]\n n$1=_fun_X_operator int(&x:class X &) [line 67]\n *&return:int =n$1 [line 67]\n " shape="box"] +54 [label="54: Return Stmt \n _=*&x:class X [line 67]\n n$1=_fun_X_operator_int(&x:class X &) [line 67]\n *&return:int =n$1 [line 67]\n " shape="box"] 54 -> 53 ; @@ -44,7 +44,7 @@ digraph iCFG { 51 -> 46 ; -50 [label="50: DeclStmt \n _=*&x:class X [line 55]\n n$6=_fun_X_operator int(&x:class X &) [line 55]\n *&v:int =n$6 [line 55]\n " shape="box"] +50 [label="50: DeclStmt \n _=*&x:class X [line 55]\n n$6=_fun_X_operator_int(&x:class X &) [line 55]\n *&v:int =n$6 [line 55]\n " shape="box"] 50 -> 49 ; @@ -60,7 +60,7 @@ digraph iCFG { 47 -> 50 ; -46 [label="46: Call _fun_X_operator bool \n _=*&x:class X [line 54]\n n$3=_fun_X_operator bool(&x:class X &) [line 54]\n " shape="box"] +46 [label="46: Call _fun_X_operator_bool \n _=*&x:class X [line 54]\n n$3=_fun_X_operator_bool(&x:class X &) [line 54]\n " shape="box"] 46 -> 47 ; @@ -69,7 +69,7 @@ digraph iCFG { 45 -> 44 ; -44 [label="44: Return Stmt \n _=*&x:class X [line 58]\n n$1=_fun_X_operator int(&x:class X &) [line 58]\n *&return:int =n$1 [line 58]\n " shape="box"] +44 [label="44: Return Stmt \n _=*&x:class X [line 58]\n n$1=_fun_X_operator_int(&x:class X &) [line 58]\n *&return:int =n$1 [line 58]\n " shape="box"] 44 -> 43 ; @@ -92,7 +92,7 @@ digraph iCFG { 39 -> 34 ; -38 [label="38: DeclStmt \n _=*&y:class Y [line 46]\n _fun_Y_operator X(&y:class Y &,&0$?%__sil_tmpSIL_materialize_temp__n$12:class X *) [line 46]\n _fun_X_X(&0$?%__sil_tmp__temp_construct_n$11:class X *,&0$?%__sil_tmpSIL_materialize_temp__n$12:class X &) [line 46]\n n$15=_fun_X_operator int(&0$?%__sil_tmp__temp_construct_n$11:class X &) [line 46]\n *&v:int =n$15 [line 46]\n " shape="box"] +38 [label="38: DeclStmt \n _=*&y:class Y [line 46]\n _fun_Y_operator_X(&y:class Y &,&0$?%__sil_tmpSIL_materialize_temp__n$12:class X *) [line 46]\n _fun_X_X(&0$?%__sil_tmp__temp_construct_n$11:class X *,&0$?%__sil_tmpSIL_materialize_temp__n$12:class X &) [line 46]\n n$15=_fun_X_operator_int(&0$?%__sil_tmp__temp_construct_n$11:class X &) [line 46]\n *&v:int =n$15 [line 46]\n " shape="box"] 38 -> 37 ; @@ -108,7 +108,7 @@ digraph iCFG { 35 -> 38 ; -34 [label="34: Call _fun_X_operator bool \n _=*&y:class Y [line 45]\n _fun_Y_operator X(&y:class Y &,&0$?%__sil_tmpSIL_materialize_temp__n$6:class X *) [line 45]\n _fun_X_X(&0$?%__sil_tmp__temp_construct_n$5:class X *,&0$?%__sil_tmpSIL_materialize_temp__n$6:class X &) [line 45]\n n$9=_fun_X_operator bool(&0$?%__sil_tmp__temp_construct_n$5:class X &) [line 45]\n " shape="box"] +34 [label="34: Call _fun_X_operator_bool \n _=*&y:class Y [line 45]\n _fun_Y_operator_X(&y:class Y &,&0$?%__sil_tmpSIL_materialize_temp__n$6:class X *) [line 45]\n _fun_X_X(&0$?%__sil_tmp__temp_construct_n$5:class X *,&0$?%__sil_tmpSIL_materialize_temp__n$6:class X &) [line 45]\n n$9=_fun_X_operator_bool(&0$?%__sil_tmp__temp_construct_n$5:class X &) [line 45]\n " shape="box"] 34 -> 35 ; @@ -117,7 +117,7 @@ digraph iCFG { 33 -> 32 ; -32 [label="32: Return Stmt \n _=*&y:class Y [line 49]\n _fun_Y_operator X(&y:class Y &,&0$?%__sil_tmpSIL_materialize_temp__n$1:class X *) [line 49]\n _fun_X_X(&0$?%__sil_tmp__temp_construct_n$0:class X *,&0$?%__sil_tmpSIL_materialize_temp__n$1:class X &) [line 49]\n n$4=_fun_X_operator int(&0$?%__sil_tmp__temp_construct_n$0:class X &) [line 49]\n *&return:int =n$4 [line 49]\n " shape="box"] +32 [label="32: Return Stmt \n _=*&y:class Y [line 49]\n _fun_Y_operator_X(&y:class Y &,&0$?%__sil_tmpSIL_materialize_temp__n$1:class X *) [line 49]\n _fun_X_X(&0$?%__sil_tmp__temp_construct_n$0:class X *,&0$?%__sil_tmpSIL_materialize_temp__n$1:class X &) [line 49]\n n$4=_fun_X_operator_int(&0$?%__sil_tmp__temp_construct_n$0:class X &) [line 49]\n *&return:int =n$4 [line 49]\n " shape="box"] 32 -> 31 ; @@ -132,7 +132,7 @@ digraph iCFG { 29 -> 24 ; -28 [label="28: DeclStmt \n _=*&x:class X [line 35]\n n$6=_fun_X_operator int(&x:class X &) [line 35]\n *&v:int =n$6 [line 35]\n " shape="box"] +28 [label="28: DeclStmt \n _=*&x:class X [line 35]\n n$6=_fun_X_operator_int(&x:class X &) [line 35]\n *&v:int =n$6 [line 35]\n " shape="box"] 28 -> 27 ; @@ -148,7 +148,7 @@ digraph iCFG { 25 -> 28 ; -24 [label="24: Call _fun_X_operator bool \n _=*&x:class X [line 34]\n n$3=_fun_X_operator bool(&x:class X &) [line 34]\n " shape="box"] +24 [label="24: Call _fun_X_operator_bool \n _=*&x:class X [line 34]\n n$3=_fun_X_operator_bool(&x:class X &) [line 34]\n " shape="box"] 24 -> 25 ; @@ -157,7 +157,7 @@ digraph iCFG { 23 -> 22 ; -22 [label="22: Return Stmt \n _=*&x:class X [line 38]\n n$1=_fun_X_operator int(&x:class X &) [line 38]\n *&return:int =n$1 [line 38]\n " shape="box"] +22 [label="22: Return Stmt \n _=*&x:class X [line 38]\n n$1=_fun_X_operator_int(&x:class X &) [line 38]\n *&return:int =n$1 [line 38]\n " shape="box"] 22 -> 21 ; @@ -179,10 +179,10 @@ digraph iCFG { 17 -> 16 ; -16 [label="16: Exit Y_operator X \n " color=yellow style=filled] +16 [label="16: Exit Y_operator_X \n " color=yellow style=filled] -15 [label="15: Start Y_operator X\nFormals: this:class Y * __return_param:class X *\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:class X \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 27]\n " color=yellow style=filled] +15 [label="15: Start Y_operator_X\nFormals: this:class Y * __return_param:class X *\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:class X \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 27]\n " color=yellow style=filled] 15 -> 17 ; @@ -220,10 +220,10 @@ digraph iCFG { 6 -> 5 ; -5 [label="5: Exit X_operator bool \n " color=yellow style=filled] +5 [label="5: Exit X_operator_bool \n " color=yellow style=filled] -4 [label="4: Start X_operator bool\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled] +4 [label="4: Start X_operator_bool\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled] 4 -> 6 ; @@ -231,10 +231,10 @@ digraph iCFG { 3 -> 2 ; -2 [label="2: Exit X_operator int \n " color=yellow style=filled] +2 [label="2: Exit X_operator_int \n " color=yellow style=filled] -1 [label="1: Start X_operator int\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled] +1 [label="1: Start X_operator_int\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled] 1 -> 3 ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/templates/function_pack.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/templates/function_pack.cpp.dot index fcacdb549..ed66fc2df 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/templates/function_pack.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/templates/function_pack.cpp.dot @@ -11,7 +11,7 @@ digraph iCFG { 52 -> 54 ; -51 [label="51: Return Stmt \n n$0=_fun_div(1:int ,2:int ,3:int ) [line 25]\n *&return:int =n$0 [line 25]\n " shape="box"] +51 [label="51: Return Stmt \n n$0=_fun_div(1:int ,2:int ,3:int ) [line 25]\n *&return:int =n$0 [line 25]\n " shape="box"] 51 -> 50 ; @@ -33,7 +33,7 @@ digraph iCFG { 46 -> 48 ; -45 [label="45: Return Stmt \n n$0=_fun_div(1:int ,0:int ,0:int ) [line 22]\n *&return:int =n$0 [line 22]\n " shape="box"] +45 [label="45: Return Stmt \n n$0=_fun_div(1:int ,0:int ,0:int ) [line 22]\n *&return:int =n$0 [line 22]\n " shape="box"] 45 -> 44 ; @@ -44,7 +44,7 @@ digraph iCFG { 43 -> 45 ; -42 [label="42: Return Stmt \n n$0=_fun_div(1:int ,2:int ,0:int ) [line 21]\n *&return:int =n$0 [line 21]\n " shape="box"] +42 [label="42: Return Stmt \n n$0=_fun_div(1:int ,2:int ,0:int ) [line 21]\n *&return:int =n$0 [line 21]\n " shape="box"] 42 -> 41 ; @@ -55,7 +55,7 @@ digraph iCFG { 40 -> 42 ; -39 [label="39: Return Stmt \n n$0=_fun_div(1:int ,0:int ,3:int ) [line 20]\n *&return:int =n$0 [line 20]\n " shape="box"] +39 [label="39: Return Stmt \n n$0=_fun_div(1:int ,0:int ,3:int ) [line 20]\n *&return:int =n$0 [line 20]\n " shape="box"] 39 -> 38 ; @@ -66,7 +66,7 @@ digraph iCFG { 37 -> 39 ; -36 [label="36: Return Stmt \n n$0=_fun_div(0:int ,2:int ,3:int ) [line 19]\n *&return:int =n$0 [line 19]\n " shape="box"] +36 [label="36: Return Stmt \n n$0=_fun_div(0:int ,2:int ,3:int ) [line 19]\n *&return:int =n$0 [line 19]\n " shape="box"] 36 -> 35 ; @@ -88,73 +88,73 @@ digraph iCFG { 31 -> 33 ; -30 [label="30: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=*&args:int [line 14]\n n$5=*&args:int [line 14]\n n$6=*&args:int [line 14]\n n$7=*&args:int [line 14]\n n$8=*&args:int [line 14]\n n$9=*&args:int [line 14]\n n$10=_fun_div(n$1:int ,n$2:int ,n$3:int ,n$4:int ,n$5:int ,n$6:int ,n$7:int ,n$8:int ,n$9:int ) [line 14]\n *&return:int =((1 / n$0) + n$10) [line 14]\n " shape="box"] +30 [label="30: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=*&args:int [line 14]\n n$5=*&args:int [line 14]\n n$6=*&args:int [line 14]\n n$7=*&args:int [line 14]\n n$8=*&args:int [line 14]\n n$9=*&args:int [line 14]\n n$10=_fun_div(n$1:int ,n$2:int ,n$3:int ,n$4:int ,n$5:int ,n$6:int ,n$7:int ,n$8:int ,n$9:int ) [line 14]\n *&return:int =((1 / n$0) + n$10) [line 14]\n " shape="box"] 30 -> 11 ; -29 [label="29: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=*&args:int [line 14]\n n$5=*&args:int [line 14]\n n$6=*&args:int [line 14]\n n$7=*&args:int [line 14]\n n$8=*&args:int [line 14]\n n$9=_fun_div(n$1:int ,n$2:int ,n$3:int ,n$4:int ,n$5:int ,n$6:int ,n$7:int ,n$8:int ) [line 14]\n *&return:int =((1 / n$0) + n$9) [line 14]\n " shape="box"] +29 [label="29: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=*&args:int [line 14]\n n$5=*&args:int [line 14]\n n$6=*&args:int [line 14]\n n$7=*&args:int [line 14]\n n$8=*&args:int [line 14]\n n$9=_fun_div(n$1:int ,n$2:int ,n$3:int ,n$4:int ,n$5:int ,n$6:int ,n$7:int ,n$8:int ) [line 14]\n *&return:int =((1 / n$0) + n$9) [line 14]\n " shape="box"] 29 -> 13 ; -28 [label="28: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=*&args:int [line 14]\n n$5=*&args:int [line 14]\n n$6=*&args:int [line 14]\n n$7=*&args:int [line 14]\n n$8=_fun_div(n$1:int ,n$2:int ,n$3:int ,n$4:int ,n$5:int ,n$6:int ,n$7:int ) [line 14]\n *&return:int =((1 / n$0) + n$8) [line 14]\n " shape="box"] +28 [label="28: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=*&args:int [line 14]\n n$5=*&args:int [line 14]\n n$6=*&args:int [line 14]\n n$7=*&args:int [line 14]\n n$8=_fun_div(n$1:int ,n$2:int ,n$3:int ,n$4:int ,n$5:int ,n$6:int ,n$7:int ) [line 14]\n *&return:int =((1 / n$0) + n$8) [line 14]\n " shape="box"] 28 -> 15 ; -27 [label="27: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=*&args:int [line 14]\n n$5=*&args:int [line 14]\n n$6=*&args:int [line 14]\n n$7=_fun_div(n$1:int ,n$2:int ,n$3:int ,n$4:int ,n$5:int ,n$6:int ) [line 14]\n *&return:int =((1 / n$0) + n$7) [line 14]\n " shape="box"] +27 [label="27: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=*&args:int [line 14]\n n$5=*&args:int [line 14]\n n$6=*&args:int [line 14]\n n$7=_fun_div(n$1:int ,n$2:int ,n$3:int ,n$4:int ,n$5:int ,n$6:int ) [line 14]\n *&return:int =((1 / n$0) + n$7) [line 14]\n " shape="box"] 27 -> 17 ; -26 [label="26: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=*&args:int [line 14]\n n$5=*&args:int [line 14]\n n$6=_fun_div(n$1:int ,n$2:int ,n$3:int ,n$4:int ,n$5:int ) [line 14]\n *&return:int =((1 / n$0) + n$6) [line 14]\n " shape="box"] +26 [label="26: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=*&args:int [line 14]\n n$5=*&args:int [line 14]\n n$6=_fun_div(n$1:int ,n$2:int ,n$3:int ,n$4:int ,n$5:int ) [line 14]\n *&return:int =((1 / n$0) + n$6) [line 14]\n " shape="box"] 26 -> 19 ; -25 [label="25: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=*&args:int [line 14]\n n$5=_fun_div(n$1:int ,n$2:int ,n$3:int ,n$4:int ) [line 14]\n *&return:int =((1 / n$0) + n$5) [line 14]\n " shape="box"] +25 [label="25: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=*&args:int [line 14]\n n$5=_fun_div(n$1:int ,n$2:int ,n$3:int ,n$4:int ) [line 14]\n *&return:int =((1 / n$0) + n$5) [line 14]\n " shape="box"] 25 -> 21 ; -24 [label="24: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=_fun_div(n$1:int ,n$2:int ,n$3:int ) [line 14]\n *&return:int =((1 / n$0) + n$4) [line 14]\n " shape="box"] +24 [label="24: Return Stmt \n n$0=*&v:int [line 14]\n n$1=*&args:int [line 14]\n n$2=*&args:int [line 14]\n n$3=*&args:int [line 14]\n n$4=_fun_div(n$1:int ,n$2:int ,n$3:int ) [line 14]\n *&return:int =((1 / n$0) + n$4) [line 14]\n " shape="box"] 24 -> 23 ; -23 [label="23: Exit div \n " color=yellow style=filled] +23 [label="23: Exit div \n " color=yellow style=filled] -22 [label="22: Start div\nFormals: v:int args:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] +22 [label="22: Start div\nFormals: v:int args:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] 22 -> 24 ; -21 [label="21: Exit div \n " color=yellow style=filled] +21 [label="21: Exit div \n " color=yellow style=filled] -20 [label="20: Start div\nFormals: v:int args:int args:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] +20 [label="20: Start div\nFormals: v:int args:int args:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] 20 -> 25 ; -19 [label="19: Exit div \n " color=yellow style=filled] +19 [label="19: Exit div \n " color=yellow style=filled] -18 [label="18: Start div\nFormals: v:int args:int args:int args:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] +18 [label="18: Start div\nFormals: v:int args:int args:int args:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] 18 -> 26 ; -17 [label="17: Exit div \n " color=yellow style=filled] +17 [label="17: Exit div \n " color=yellow style=filled] -16 [label="16: Start div\nFormals: v:int args:int args:int args:int args:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] +16 [label="16: Start div\nFormals: v:int args:int args:int args:int args:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] 16 -> 27 ; -15 [label="15: Exit div \n " color=yellow style=filled] +15 [label="15: Exit div \n " color=yellow style=filled] -14 [label="14: Start div\nFormals: v:int args:int args:int args:int args:int args:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] +14 [label="14: Start div\nFormals: v:int args:int args:int args:int args:int args:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] 14 -> 28 ; -13 [label="13: Exit div \n " color=yellow style=filled] +13 [label="13: Exit div \n " color=yellow style=filled] -12 [label="12: Start div\nFormals: v:int args:int args:int args:int args:int args:int args:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] +12 [label="12: Start div\nFormals: v:int args:int args:int args:int args:int args:int args:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] 12 -> 29 ; @@ -180,10 +180,10 @@ digraph iCFG { 6 -> 8 ; -5 [label="5: Exit div \n " color=yellow style=filled] +5 [label="5: Exit div \n " color=yellow style=filled] -4 [label="4: Start div\nFormals: v:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] +4 [label="4: Start div\nFormals: v:int args:int args:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled] 4 -> 9 ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/templates/sizeof_pack.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/templates/sizeof_pack.cpp.dot index 1d22d710b..8bd591b39 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/templates/sizeof_pack.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/templates/sizeof_pack.cpp.dot @@ -25,10 +25,10 @@ digraph iCFG { 6 -> 5 ; -5 [label="5: Exit hash_combine_generic \n " color=yellow style=filled] +5 [label="5: Exit hash_combine_generic \n " color=yellow style=filled] -4 [label="4: Start hash_combine_generic\nFormals: t:int & ts:int & ts:int &\nLocals: seed:int \n DECLARE_LOCALS(&return,&seed); [line 15]\n " color=yellow style=filled] +4 [label="4: Start hash_combine_generic\nFormals: t:int & ts:int & ts:int &\nLocals: seed:int \n DECLARE_LOCALS(&return,&seed); [line 15]\n " color=yellow style=filled] 4 -> 11 ;