diff --git a/facebook-clang-plugins b/facebook-clang-plugins
index 0f88b45c4..5f64a6842 160000
--- a/facebook-clang-plugins
+++ b/facebook-clang-plugins
@@ -1 +1 @@
-Subproject commit 0f88b45c44cd18d7681830ad814e812ad6288506
+Subproject commit 5f64a6842e9a85fc222f9a436c3d993cacb891b3
diff --git a/infer/src/clang/CType_decl.ml b/infer/src/clang/CType_decl.ml
index 30d137fbe..4abd2a6f0 100644
--- a/infer/src/clang/CType_decl.ml
+++ b/infer/src/clang/CType_decl.ml
@@ -131,7 +131,7 @@ let rec get_struct_fields tenv decl =
List.concat (base_class_fields @ List.map ~f:do_one_decl decl_list)
-(* For a record declaration it returns/constructs the type *)
+(** For a record declaration it returns/constructs the type *)
and get_record_declaration_type tenv decl =
let definition_decl = get_record_definition decl in
match get_record_custom_type tenv definition_decl with
diff --git a/infer/src/clang/CType_decl.mli b/infer/src/clang/CType_decl.mli
index 5b3daef9d..af92cc839 100644
--- a/infer/src/clang/CType_decl.mli
+++ b/infer/src/clang/CType_decl.mli
@@ -15,10 +15,9 @@ val get_record_typename : ?tenv:Tenv.t -> Clang_ast_t.decl -> Typ.Name.t
val add_types_from_decl_to_tenv : Tenv.t -> Clang_ast_t.decl -> Typ.desc
-(* Adds the predefined types objc_class which is a struct, *)
-(* and Class, which is a pointer to objc_class. *)
-
val add_predefined_types : Tenv.t -> unit
+(** Add the predefined types objc_class which is a struct, and Class, which is a pointer to
+ objc_class. *)
val qual_type_to_sil_type : Tenv.t -> Clang_ast_t.qual_type -> Typ.t
diff --git a/infer/src/clang/ClangCommand.ml b/infer/src/clang/ClangCommand.ml
index 5e9eb7337..11f52eac2 100644
--- a/infer/src/clang/ClangCommand.ml
+++ b/infer/src/clang/ClangCommand.ml
@@ -148,7 +148,7 @@ let clang_cc1_cmd_sanitizer cmd =
else if String.equal option "-isystem" then
match include_override_regex with
| Some regexp when Str.string_match regexp arg 0 ->
- fcp_dir ^/ "clang" ^/ "install" ^/ "lib" ^/ "clang" ^/ "5.0.0" ^/ "include"
+ fcp_dir ^/ "clang" ^/ "install" ^/ "lib" ^/ "clang" ^/ "7.0.0" ^/ "include"
| _ ->
arg
else arg
diff --git a/infer/src/clang/cArithmetic_trans.ml b/infer/src/clang/cArithmetic_trans.ml
index be42d3875..43c47b0d9 100644
--- a/infer/src/clang/cArithmetic_trans.ml
+++ b/infer/src/clang/cArithmetic_trans.ml
@@ -16,11 +16,11 @@ module L = Logging
(* CompoundAssignment. "binary_expression" is returned when we are calculating an expression*)
(* "instructions" is not empty when the binary operator is actually a statement like an *)
(* assignment. *)
-let compound_assignment_binary_operation_instruction boi e1 typ e2 loc =
+let compound_assignment_binary_operation_instruction boi_kind e1 typ e2 loc =
let id = Ident.create_fresh Ident.knormal in
let instr1 = Sil.Load (id, e1, typ, loc) in
let e_res, instr_op =
- match boi.Clang_ast_t.boi_kind with
+ match boi_kind with
| `AddAssign ->
let e1_plus_e2 = Exp.BinOp (Binop.PlusA, Exp.Var id, e2) in
(e1, [Sil.Store (e1, typ, e1_plus_e2, loc)])
@@ -51,17 +51,14 @@ let compound_assignment_binary_operation_instruction boi e1 typ e2 loc =
| `XorAssign ->
let e1_xor_e2 = Exp.BinOp (Binop.BXor, Exp.Var id, e2) in
(e1, [Sil.Store (e1, typ, e1_xor_e2, loc)])
- | _ ->
- assert false
in
(e_res, instr1 :: instr_op)
-(* Returns a pair ([binary_expression], instructions). "binary_expression" *)
-(* is returned when we are calculating an expression "instructions" is not *)
-(* empty when the binary operator is actually a statement like an *)
-(* assignment. *)
-let binary_operation_instruction boi e1 typ e2 loc =
+(** Returns a pair ([binary_expression], instructions). "binary_expression" is returned when we are
+ calculating an expression "instructions" is not empty when the binary operator is actually a
+ statement like an assignment. *)
+let binary_operation_instruction source_range boi e1 typ e2 loc =
let binop_exp op = Exp.BinOp (op, e1, e2) in
match boi.Clang_ast_t.boi_kind with
(* Note: Pointers to members that are not statically known are not
@@ -112,19 +109,22 @@ let binary_operation_instruction boi e1 typ e2 loc =
(binop_exp Binop.LOr, [])
| `Assign ->
(e1, [Sil.Store (e1, typ, e2, loc)])
+ | `Cmp ->
+ CFrontend_config.unimplemented __POS__ source_range "C++20 spaceship operator <=>"
+ (* C++20 spaceship operator <=>, TODO *)
| `Comma ->
(e2, []) (* C99 6.5.17-2 *)
- | `MulAssign
- | `DivAssign
- | `RemAssign
- | `AddAssign
- | `SubAssign
- | `ShlAssign
- | `ShrAssign
- | `AndAssign
- | `XorAssign
- | `OrAssign ->
- compound_assignment_binary_operation_instruction boi e1 typ e2 loc
+ | ( `MulAssign
+ | `DivAssign
+ | `RemAssign
+ | `AddAssign
+ | `SubAssign
+ | `ShlAssign
+ | `ShrAssign
+ | `AndAssign
+ | `XorAssign
+ | `OrAssign ) as boi_kind ->
+ compound_assignment_binary_operation_instruction boi_kind e1 typ e2 loc
let unary_operation_instruction translation_unit_context uoi e typ loc =
@@ -243,6 +243,8 @@ let bin_op_to_string boi =
"XorAssign"
| `OrAssign ->
"OrAssign"
+ | `Cmp ->
+ "Cmp"
| `Comma ->
"Comma"
diff --git a/infer/src/clang/cArithmetic_trans.mli b/infer/src/clang/cArithmetic_trans.mli
index 28b6aa5fa..9710ecc30 100644
--- a/infer/src/clang/cArithmetic_trans.mli
+++ b/infer/src/clang/cArithmetic_trans.mli
@@ -14,8 +14,11 @@ open! IStd
val bin_op_to_string : Clang_ast_t.binary_operator_info -> string
val binary_operation_instruction :
- Clang_ast_t.binary_operator_info -> Exp.t -> Typ.t -> Exp.t -> Location.t
- -> Exp.t * Sil.instr list
+ Clang_ast_t.source_range -> Clang_ast_t.binary_operator_info -> Exp.t -> Typ.t -> Exp.t
+ -> Location.t -> Exp.t * Sil.instr list
+(** Returns a pair ([binary_expression], instructions). "binary_expression" is returned when we are
+ calculating an expression "instructions" is not empty when the binary operator is actually a
+ statement like an assignment. *)
val unary_operation_instruction :
CFrontend_config.translation_unit_context -> Clang_ast_t.unary_operator_info -> Exp.t -> Typ.t
diff --git a/infer/src/clang/cAst_utils.ml b/infer/src/clang/cAst_utils.ml
index fcdda05be..f538a5104 100644
--- a/infer/src/clang/cAst_utils.ml
+++ b/infer/src/clang/cAst_utils.ml
@@ -17,7 +17,7 @@ module F = Format
type qual_type_to_sil_type = Tenv.t -> Clang_ast_t.qual_type -> Typ.t
-let sanitize_name = Str.global_replace (Str.regexp "[/ ]") "_"
+let sanitize_name s = Str.global_replace (Str.regexp "[/ ]") "_" s
let get_qual_name qual_name_list =
List.map ~f:sanitize_name qual_name_list |> QualifiedCppName.of_rev_list
diff --git a/infer/src/clang/cMethod_trans.ml b/infer/src/clang/cMethod_trans.ml
index f9ce3d190..674d0813d 100644
--- a/infer/src/clang/cMethod_trans.ml
+++ b/infer/src/clang/cMethod_trans.ml
@@ -486,6 +486,7 @@ let is_value {Clang_ast_t.qt_type_ptr} =
| Some FunctionNoProtoType _
| Some ObjCObjectPointerType _
| Some NoneType _
+ | Some DependentAddressSpaceType _
(* These types I don't know what they are. Be conservative and treat them as non value types *)
| Some ObjCTypeParamType _
| Some PipeType _
diff --git a/infer/src/clang/cTrans.ml b/infer/src/clang/cTrans.ml
index 08c64528e..01db5196a 100644
--- a/infer/src/clang/cTrans.ml
+++ b/infer/src/clang/cTrans.ml
@@ -956,8 +956,8 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s
if List.exists ~f:(Exp.equal var_exp) res_trans_e2.initd_exps then ([], [])
else
let exp_op, instr_bin =
- CArithmetic_trans.binary_operation_instruction binary_operator_info var_exp typ
- sil_e2 sil_loc
+ CArithmetic_trans.binary_operation_instruction stmt_info.Clang_ast_t.si_source_range
+ binary_operator_info var_exp typ sil_e2 sil_loc
in
(* Create a node if the priority if free and there are instructions *)
let creating_node =
diff --git a/infer/src/clang/cTrans_utils.ml b/infer/src/clang/cTrans_utils.ml
index 89bd51990..fdcdbc2e3 100644
--- a/infer/src/clang/cTrans_utils.ml
+++ b/infer/src/clang/cTrans_utils.ml
@@ -95,6 +95,7 @@ module Nodes = struct
| `Or
| `LAnd
| `LOr
+ | `Cmp
| `Comma ->
false
end
diff --git a/infer/tests/codetoanalyze/cpp/frontend/Makefile b/infer/tests/codetoanalyze/cpp/frontend/Makefile
index 1c55f02f9..69a631698 100644
--- a/infer/tests/codetoanalyze/cpp/frontend/Makefile
+++ b/infer/tests/codetoanalyze/cpp/frontend/Makefile
@@ -11,7 +11,7 @@ TESTS_DIR=../../..
CLANG_OPTIONS = \
-nostdinc++ -isystem$(ROOT_DIR) -isystem$(CLANG_INCLUDES)/c++/v1/ \
-x c++ -std=c++11 -c
-INFER_OPTIONS = --headers
+INFER_OPTIONS =
SOURCES = \
diff --git a/infer/tests/codetoanalyze/cpp/frontend/include_header/include_only.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/include_header/include_only.cpp.dot
index 7555b9ee3..e69de29bb 100644
--- a/infer/tests/codetoanalyze/cpp/frontend/include_header/include_only.cpp.dot
+++ b/infer/tests/codetoanalyze/cpp/frontend/include_header/include_only.cpp.dot
@@ -1,25 +0,0 @@
-/* @generated */
-digraph cfg {
-"div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_1" [label="1: Start div0_fun\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 19, column 1]\n " color=yellow style=filled]
-
-
- "div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_1" -> "div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_3" ;
-"div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_2" [label="2: Exit div0_fun \n " color=yellow style=filled]
-
-
-"div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 19, column 18]\n " shape="box"]
-
-
- "div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_3" -> "div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_2" ;
-"div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_1" [label="1: Start A_div0\nFormals: this:A*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled]
-
-
- "div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_1" -> "div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_3" ;
-"div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_2" [label="2: Exit A_div0 \n " color=yellow style=filled]
-
-
-"div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 11, column 16]\n " shape="box"]
-
-
- "div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_3" -> "div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_2" ;
-}
diff --git a/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot
index 99fa3bdd0..d6b66a07c 100644
--- a/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot
+++ b/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot
@@ -30,17 +30,6 @@ digraph cfg {
"div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_4" -> "div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_3" ;
-"div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_1" [label="1: Start div0_fun\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 19, column 1]\n " color=yellow style=filled]
-
-
- "div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_1" -> "div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_3" ;
-"div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_2" [label="2: Exit div0_fun \n " color=yellow style=filled]
-
-
-"div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 19, column 18]\n " shape="box"]
-
-
- "div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_3" -> "div0_fun#2527227853465305967.2e5cae3a3cba8aac956bae4ee8f04218_2" ;
"div0_templ#3392200936327226954.953c7991c92a71a697b380b40ee16cec_1" [label="1: Start div0_templ\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 22, column 1]\n " color=yellow style=filled]
@@ -85,17 +74,6 @@ digraph cfg {
"div0_templ_A#15777392272986999827.c3e6f124c5921f718c539c423038b21a_3" -> "div0_templ_A#15777392272986999827.c3e6f124c5921f718c539c423038b21a_2" ;
-"div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_1" [label="1: Start A_div0\nFormals: this:A*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled]
-
-
- "div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_1" -> "div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_3" ;
-"div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_2" [label="2: Exit A_div0 \n " color=yellow style=filled]
-
-
-"div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 11, column 16]\n " shape="box"]
-
-
- "div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_3" -> "div0#A#(13584343834474447238).86039fe8b473c93613d16ba01251732b_2" ;
"div0#B#(9546261644456360892).132a3992ba75c40ad8966e1504521d7d_1" [label="1: Start B_div0\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 16, column 3]\n " color=yellow style=filled]
diff --git a/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot
index 82ad25a19..64193fb2e 100644
--- a/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot
+++ b/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot
@@ -1,6 +1,6 @@
/* @generated */
digraph cfg {
-"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_1" [label="1: Start binary_conditional::binaryConditional\nFormals: \nLocals: x:binary_conditional::X 0$?%__sil_tmpSIL_temp_conditional___n$4:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X a:binary_conditional::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_temp_conditional___n$4,&0$?%__sil_tmpSIL_materialize_temp__n$6,&0$?%__sil_tmpSIL_materialize_temp__n$2,&a); [line 22, column 1]\n " color=yellow style=filled]
+"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_1" [label="1: Start binary_conditional::binaryConditional\nFormals: \nLocals: x:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$3:binary_conditional::X 0$?%__sil_tmpSIL_temp_conditional___n$5:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X a:binary_conditional::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$3,&0$?%__sil_tmpSIL_temp_conditional___n$5,&0$?%__sil_tmpSIL_materialize_temp__n$2,&a); [line 22, column 1]\n " color=yellow style=filled]
"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_1" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_12" ;
@@ -15,32 +15,32 @@ digraph cfg {
"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_4" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_11" ;
-"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" [label="5: Call _fun_binary_conditional::X_operator_bool \n n$5=_fun_binary_conditional::X_operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X&) [line 24, column 9]\n " shape="box"]
+"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" [label="5: Call _fun_binary_conditional::X_operator_bool \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:binary_conditional::X [line 24, column 9]\n n$7=_fun_binary_conditional::X_operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$3:binary_conditional::X&) [line 24, column 9]\n " shape="box"]
"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" ;
"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" ;
-"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" [label="6: Prune (true branch) \n PRUNE(n$5, true); [line 24, column 9]\n " shape="invhouse"]
+"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" [label="6: Prune (true branch) \n PRUNE(n$7, true); [line 24, column 9]\n " shape="invhouse"]
"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_8" ;
-"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" [label="7: Prune (false branch) \n PRUNE(!n$5, false); [line 24, column 9]\n " shape="invhouse"]
+"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" [label="7: Prune (false branch) \n PRUNE(!n$7, false); [line 24, column 9]\n " shape="invhouse"]
"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" ;
-"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 24, column 9]\n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X&) [line 24, column 9]\n *&0$?%__sil_tmpSIL_temp_conditional___n$4:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 24, column 9]\n " shape="box"]
+"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_8" [label="8: ConditinalStmt Branch \n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$3:binary_conditional::X&) [line 24, column 9]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 24, column 9]\n " shape="box"]
"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_8" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_4" ;
-"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" [label="9: ConditinalStmt Branch \n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X*,&a:binary_conditional::X&) [line 24, column 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$4:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 24, column 9]\n " shape="box"]
+"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" [label="9: ConditinalStmt Branch \n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X*,&a:binary_conditional::X&) [line 24, column 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 24, column 9]\n " shape="box"]
"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_4" ;
-"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_10" [label="10: BinaryConditinalStmt Init \n _fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X*) [line 24, column 9]\n " shape="box"]
+"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_10" [label="10: BinaryConditinalStmt Init \n _fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$3:binary_conditional::X*) [line 24, column 9]\n " shape="box"]
"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_10" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" ;
-"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_11" [label="11: DeclStmt \n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$4:binary_conditional::X [line 24, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X=n$7 [line 24, column 9]\n _fun_binary_conditional::X_X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X&) [line 24, column 9]\n " shape="box"]
+"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_11" [label="11: DeclStmt \n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$5:binary_conditional::X [line 24, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X=n$8 [line 24, column 9]\n _fun_binary_conditional::X_X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X&) [line 24, column 9]\n " shape="box"]
"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_11" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_3" ;
diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/std_init_list.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/std_init_list.cpp.dot
index a2b7721e3..ed80316bf 100644
--- a/infer/tests/codetoanalyze/cpp/shared/constructors/std_init_list.cpp.dot
+++ b/infer/tests/codetoanalyze/cpp/shared/constructors/std_init_list.cpp.dot
@@ -47,26 +47,4 @@ digraph cfg {
"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_9" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_5" ;
-"begin#initializer_list#std#(13723715755918736548).65e91b39b4a18334df4ab6fcebc9626c_1" [label="1: Start std::initializer_list_begin\nFormals: this:std::initializer_list*\nLocals: \n DECLARE_LOCALS(&return); [line 87, column 5]\n " color=yellow style=filled]
-
-
- "begin#initializer_list#std#(13723715755918736548).65e91b39b4a18334df4ab6fcebc9626c_1" -> "begin#initializer_list#std#(13723715755918736548).65e91b39b4a18334df4ab6fcebc9626c_3" ;
-"begin#initializer_list#std#(13723715755918736548).65e91b39b4a18334df4ab6fcebc9626c_2" [label="2: Exit std::initializer_list_begin \n " color=yellow style=filled]
-
-
-"begin#initializer_list#std#(13723715755918736548).65e91b39b4a18334df4ab6fcebc9626c_3" [label="3: Return Stmt \n n$0=*&this:std::initializer_list const * [line 89, column 48]\n n$1=*n$0.__begin_:int const * [line 89, column 48]\n *&return:int const *=n$1 [line 89, column 41]\n " shape="box"]
-
-
- "begin#initializer_list#std#(13723715755918736548).65e91b39b4a18334df4ab6fcebc9626c_3" -> "begin#initializer_list#std#(13723715755918736548).65e91b39b4a18334df4ab6fcebc9626c_2" ;
-"end#initializer_list#std#(17457336561148167662).71ab51b73def3fc4c022ec4075346bdb_1" [label="1: Start std::initializer_list_end\nFormals: this:std::initializer_list*\nLocals: \n DECLARE_LOCALS(&return); [line 91, column 5]\n " color=yellow style=filled]
-
-
- "end#initializer_list#std#(17457336561148167662).71ab51b73def3fc4c022ec4075346bdb_1" -> "end#initializer_list#std#(17457336561148167662).71ab51b73def3fc4c022ec4075346bdb_3" ;
-"end#initializer_list#std#(17457336561148167662).71ab51b73def3fc4c022ec4075346bdb_2" [label="2: Exit std::initializer_list_end \n " color=yellow style=filled]
-
-
-"end#initializer_list#std#(17457336561148167662).71ab51b73def3fc4c022ec4075346bdb_3" [label="3: Return Stmt \n n$0=*&this:std::initializer_list const * [line 93, column 48]\n n$1=*n$0.__begin_:int const * [line 93, column 48]\n n$2=*&this:std::initializer_list const * [line 93, column 59]\n n$3=*n$2.__size_:unsigned long [line 93, column 59]\n *&return:int const *=(n$1 + n$3) [line 93, column 41]\n " shape="box"]
-
-
- "end#initializer_list#std#(17457336561148167662).71ab51b73def3fc4c022ec4075346bdb_3" -> "end#initializer_list#std#(17457336561148167662).71ab51b73def3fc4c022ec4075346bdb_2" ;
}
diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot
index a3744fdb3..2159730d5 100644
--- a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot
+++ b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot
@@ -11,28 +11,6 @@ digraph cfg {
"dummy_struct#__infer_globals_initializer_pass_by_val.24fe54080733cebf362d2b34e691bb44_3" -> "dummy_struct#__infer_globals_initializer_pass_by_val.24fe54080733cebf362d2b34e691bb44_2" ;
-"piecewise_construct#__infer_globals_initializer_std.a38961a5a6e5f6ecbae901423d9145cf_1" [label="1: Start __infer_globals_initializer_std::piecewise_construct\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:std::piecewise_construct_t \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 296, column 1]\n " color=yellow style=filled]
-
-
- "piecewise_construct#__infer_globals_initializer_std.a38961a5a6e5f6ecbae901423d9145cf_1" -> "piecewise_construct#__infer_globals_initializer_std.a38961a5a6e5f6ecbae901423d9145cf_3" ;
-"piecewise_construct#__infer_globals_initializer_std.a38961a5a6e5f6ecbae901423d9145cf_2" [label="2: Exit __infer_globals_initializer_std::piecewise_construct \n " color=yellow style=filled]
-
-
-"piecewise_construct#__infer_globals_initializer_std.a38961a5a6e5f6ecbae901423d9145cf_3" [label="3: DeclStmt \n _fun_std::piecewise_construct_t_piecewise_construct_t(&0$?%__sil_tmpSIL_materialize_temp__n$0:std::piecewise_construct_t*) [line 296, column 55]\n _fun_std::piecewise_construct_t_piecewise_construct_t(GB$std::piecewise_construct:std::piecewise_construct_t const *,&0$?%__sil_tmpSIL_materialize_temp__n$0:std::piecewise_construct_t&) [line 296, column 55]\n " shape="box"]
-
-
- "piecewise_construct#__infer_globals_initializer_std.a38961a5a6e5f6ecbae901423d9145cf_3" -> "piecewise_construct#__infer_globals_initializer_std.a38961a5a6e5f6ecbae901423d9145cf_2" ;
-"value#__numeric_type#__infer_globals_initializer_std.47862f77402cf0b9a8f85342f9963960_1" [label="1: Start __infer_globals_initializer_std::__numeric_type::value\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 1738, column 4]\n " color=yellow style=filled]
-
-
- "value#__numeric_type#__infer_globals_initializer_std.47862f77402cf0b9a8f85342f9963960_1" -> "value#__numeric_type#__infer_globals_initializer_std.47862f77402cf0b9a8f85342f9963960_3" ;
-"value#__numeric_type#__infer_globals_initializer_std.47862f77402cf0b9a8f85342f9963960_2" [label="2: Exit __infer_globals_initializer_std::__numeric_type::value \n " color=yellow style=filled]
-
-
-"value#__numeric_type#__infer_globals_initializer_std.47862f77402cf0b9a8f85342f9963960_3" [label="3: DeclStmt \n *GB$std::__numeric_type::value:_Bool=1 [line 1738, column 4]\n " shape="box"]
-
-
- "value#__numeric_type#__infer_globals_initializer_std.47862f77402cf0b9a8f85342f9963960_3" -> "value#__numeric_type#__infer_globals_initializer_std.47862f77402cf0b9a8f85342f9963960_2" ;
"perfect_forwarding_by_ref#pass_by_val#7578991627406493712.47db45acfc842e77ec927aa5a23ec0ee_1" [label="1: Start pass_by_val::perfect_forwarding_by_ref\nFormals: __return_param:pass_by_val::Id*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$2:int 0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id b:int a:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$2,&0$?%__sil_tmpSIL_materialize_temp__n$1,&b,&a); [line 64, column 1]\n " color=yellow style=filled]
@@ -52,116 +30,28 @@ digraph cfg {
"perfect_forwarding_by_ref#pass_by_val#7578991627406493712.47db45acfc842e77ec927aa5a23ec0ee_5" -> "perfect_forwarding_by_ref#pass_by_val#7578991627406493712.47db45acfc842e77ec927aa5a23ec0ee_4" ;
-"forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_1" [label="1: Start std::forward\nFormals: __t:int&\nLocals: \n DECLARE_LOCALS(&return); [line 2185, column 1]\n " color=yellow style=filled]
+"forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_1" [label="1: Start std::forward\nFormals: __t:int&\nLocals: \n DECLARE_LOCALS(&return); [line 2217, column 1]\n " color=yellow style=filled]
"forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_1" -> "forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_3" ;
"forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_2" [label="2: Exit std::forward \n " color=yellow style=filled]
-"forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_3" [label="3: Return Stmt \n n$0=*&__t:int& [line 2189, column 31]\n *&return:int&=n$0 [line 2189, column 5]\n " shape="box"]
+"forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_3" [label="3: Return Stmt \n n$0=*&__t:int& [line 2221, column 31]\n *&return:int&=n$0 [line 2221, column 5]\n " shape="box"]
"forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_3" -> "forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_2" ;
-"forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_1" [label="1: Start std::forward\nFormals: __t:int&\nLocals: \n DECLARE_LOCALS(&return); [line 2185, column 1]\n " color=yellow style=filled]
+"forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_1" [label="1: Start std::forward\nFormals: __t:int&\nLocals: \n DECLARE_LOCALS(&return); [line 2217, column 1]\n " color=yellow style=filled]
"forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_1" -> "forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_3" ;
"forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_2" [label="2: Exit std::forward \n " color=yellow style=filled]
-"forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_3" [label="3: Return Stmt \n n$0=*&__t:int& [line 2189, column 31]\n *&return:int&=n$0 [line 2189, column 5]\n " shape="box"]
+"forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_3" [label="3: Return Stmt \n n$0=*&__t:int& [line 2221, column 31]\n *&return:int&=n$0 [line 2221, column 5]\n " shape="box"]
"forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_3" -> "forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_2" ;
-"__convert_to_integral#std#18203946051870259524.786d56ace7d9e294cffb725c2e0b3002_1" [label="1: Start std::__convert_to_integral\nFormals: __val:int\nLocals: \n DECLARE_LOCALS(&return); [line 4590, column 1]\n " color=yellow style=filled]
-
-
- "__convert_to_integral#std#18203946051870259524.786d56ace7d9e294cffb725c2e0b3002_1" -> "__convert_to_integral#std#18203946051870259524.786d56ace7d9e294cffb725c2e0b3002_3" ;
-"__convert_to_integral#std#18203946051870259524.786d56ace7d9e294cffb725c2e0b3002_2" [label="2: Exit std::__convert_to_integral \n " color=yellow style=filled]
-
-
-"__convert_to_integral#std#18203946051870259524.786d56ace7d9e294cffb725c2e0b3002_3" [label="3: Return Stmt \n n$0=*&__val:int [line 4591, column 47]\n *&return:int=n$0 [line 4591, column 40]\n " shape="box"]
-
-
- "__convert_to_integral#std#18203946051870259524.786d56ace7d9e294cffb725c2e0b3002_3" -> "__convert_to_integral#std#18203946051870259524.786d56ace7d9e294cffb725c2e0b3002_2" ;
-"__convert_to_integral#std#18203944952358631313.9a3242fdeb903dc6e8702bc93bb6ac67_1" [label="1: Start std::__convert_to_integral\nFormals: __val:int\nLocals: \n DECLARE_LOCALS(&return); [line 4609, column 1]\n " color=yellow style=filled]
-
-
- "__convert_to_integral#std#18203944952358631313.9a3242fdeb903dc6e8702bc93bb6ac67_1" -> "__convert_to_integral#std#18203944952358631313.9a3242fdeb903dc6e8702bc93bb6ac67_3" ;
-"__convert_to_integral#std#18203944952358631313.9a3242fdeb903dc6e8702bc93bb6ac67_2" [label="2: Exit std::__convert_to_integral \n " color=yellow style=filled]
-
-
-"__convert_to_integral#std#18203944952358631313.9a3242fdeb903dc6e8702bc93bb6ac67_3" [label="3: Return Stmt \n n$0=*&__val:int [line 4610, column 61]\n *&return:int=n$0 [line 4610, column 54]\n " shape="box"]
-
-
- "__convert_to_integral#std#18203944952358631313.9a3242fdeb903dc6e8702bc93bb6ac67_3" -> "__convert_to_integral#std#18203944952358631313.9a3242fdeb903dc6e8702bc93bb6ac67_2" ;
-"__convert_to_integral#std#18203949350405144157.9f218a91fc3ee0ab3f5a9696bcfafca0_1" [label="1: Start std::__convert_to_integral\nFormals: __val:unsigned int\nLocals: \n DECLARE_LOCALS(&return); [line 4593, column 1]\n " color=yellow style=filled]
-
-
- "__convert_to_integral#std#18203949350405144157.9f218a91fc3ee0ab3f5a9696bcfafca0_1" -> "__convert_to_integral#std#18203949350405144157.9f218a91fc3ee0ab3f5a9696bcfafca0_3" ;
-"__convert_to_integral#std#18203949350405144157.9f218a91fc3ee0ab3f5a9696bcfafca0_2" [label="2: Exit std::__convert_to_integral \n " color=yellow style=filled]
-
-
-"__convert_to_integral#std#18203949350405144157.9f218a91fc3ee0ab3f5a9696bcfafca0_3" [label="3: Return Stmt \n n$0=*&__val:unsigned int [line 4594, column 57]\n *&return:unsigned int=n$0 [line 4594, column 50]\n " shape="box"]
-
-
- "__convert_to_integral#std#18203949350405144157.9f218a91fc3ee0ab3f5a9696bcfafca0_3" -> "__convert_to_integral#std#18203949350405144157.9f218a91fc3ee0ab3f5a9696bcfafca0_2" ;
-"__convert_to_integral#std#18203943852847003102.8f2920b58f70b12797286a40dfc4147a_1" [label="1: Start std::__convert_to_integral\nFormals: __val:unsigned int\nLocals: \n DECLARE_LOCALS(&return); [line 4612, column 1]\n " color=yellow style=filled]
-
-
- "__convert_to_integral#std#18203943852847003102.8f2920b58f70b12797286a40dfc4147a_1" -> "__convert_to_integral#std#18203943852847003102.8f2920b58f70b12797286a40dfc4147a_3" ;
-"__convert_to_integral#std#18203943852847003102.8f2920b58f70b12797286a40dfc4147a_2" [label="2: Exit std::__convert_to_integral \n " color=yellow style=filled]
-
-
-"__convert_to_integral#std#18203943852847003102.8f2920b58f70b12797286a40dfc4147a_3" [label="3: Return Stmt \n n$0=*&__val:unsigned int [line 4613, column 63]\n *&return:unsigned int=n$0 [line 4613, column 56]\n " shape="box"]
-
-
- "__convert_to_integral#std#18203943852847003102.8f2920b58f70b12797286a40dfc4147a_3" -> "__convert_to_integral#std#18203943852847003102.8f2920b58f70b12797286a40dfc4147a_2" ;
-"__convert_to_integral#std#18203942753335374891.29ee25a15ba8a308015d3a4aeb5da775_1" [label="1: Start std::__convert_to_integral\nFormals: __val:long\nLocals: \n DECLARE_LOCALS(&return); [line 4596, column 1]\n " color=yellow style=filled]
-
-
- "__convert_to_integral#std#18203942753335374891.29ee25a15ba8a308015d3a4aeb5da775_1" -> "__convert_to_integral#std#18203942753335374891.29ee25a15ba8a308015d3a4aeb5da775_3" ;
-"__convert_to_integral#std#18203942753335374891.29ee25a15ba8a308015d3a4aeb5da775_2" [label="2: Exit std::__convert_to_integral \n " color=yellow style=filled]
-
-
-"__convert_to_integral#std#18203942753335374891.29ee25a15ba8a308015d3a4aeb5da775_3" [label="3: Return Stmt \n n$0=*&__val:long [line 4597, column 49]\n *&return:long=n$0 [line 4597, column 42]\n " shape="box"]
-
-
- "__convert_to_integral#std#18203942753335374891.29ee25a15ba8a308015d3a4aeb5da775_3" -> "__convert_to_integral#std#18203942753335374891.29ee25a15ba8a308015d3a4aeb5da775_2" ;
-"__convert_to_integral#std#18203941653823746680.91314e051bc6514bf07264f2739b3232_1" [label="1: Start std::__convert_to_integral\nFormals: __val:unsigned long\nLocals: \n DECLARE_LOCALS(&return); [line 4599, column 1]\n " color=yellow style=filled]
-
-
- "__convert_to_integral#std#18203941653823746680.91314e051bc6514bf07264f2739b3232_1" -> "__convert_to_integral#std#18203941653823746680.91314e051bc6514bf07264f2739b3232_3" ;
-"__convert_to_integral#std#18203941653823746680.91314e051bc6514bf07264f2739b3232_2" [label="2: Exit std::__convert_to_integral \n " color=yellow style=filled]
-
-
-"__convert_to_integral#std#18203941653823746680.91314e051bc6514bf07264f2739b3232_3" [label="3: Return Stmt \n n$0=*&__val:unsigned long [line 4600, column 67]\n *&return:unsigned long=n$0 [line 4600, column 60]\n " shape="box"]
-
-
- "__convert_to_integral#std#18203941653823746680.91314e051bc6514bf07264f2739b3232_3" -> "__convert_to_integral#std#18203941653823746680.91314e051bc6514bf07264f2739b3232_2" ;
-"__convert_to_integral#std#18203964743567939111.a71ca871e4c0fed0ecd2c8fe001f34de_1" [label="1: Start std::__convert_to_integral\nFormals: __val:long long\nLocals: \n DECLARE_LOCALS(&return); [line 4602, column 1]\n " color=yellow style=filled]
-
-
- "__convert_to_integral#std#18203964743567939111.a71ca871e4c0fed0ecd2c8fe001f34de_1" -> "__convert_to_integral#std#18203964743567939111.a71ca871e4c0fed0ecd2c8fe001f34de_3" ;
-"__convert_to_integral#std#18203964743567939111.a71ca871e4c0fed0ecd2c8fe001f34de_2" [label="2: Exit std::__convert_to_integral \n " color=yellow style=filled]
-
-
-"__convert_to_integral#std#18203964743567939111.a71ca871e4c0fed0ecd2c8fe001f34de_3" [label="3: Return Stmt \n n$0=*&__val:long long [line 4603, column 59]\n *&return:long long=n$0 [line 4603, column 52]\n " shape="box"]
-
-
- "__convert_to_integral#std#18203964743567939111.a71ca871e4c0fed0ecd2c8fe001f34de_3" -> "__convert_to_integral#std#18203964743567939111.a71ca871e4c0fed0ecd2c8fe001f34de_2" ;
-"__convert_to_integral#std#18203963644056310900.85b99415f2ab9597604bfc9d379da576_1" [label="1: Start std::__convert_to_integral\nFormals: __val:unsigned long long\nLocals: \n DECLARE_LOCALS(&return); [line 4605, column 1]\n " color=yellow style=filled]
-
-
- "__convert_to_integral#std#18203963644056310900.85b99415f2ab9597604bfc9d379da576_1" -> "__convert_to_integral#std#18203963644056310900.85b99415f2ab9597604bfc9d379da576_3" ;
-"__convert_to_integral#std#18203963644056310900.85b99415f2ab9597604bfc9d379da576_2" [label="2: Exit std::__convert_to_integral \n " color=yellow style=filled]
-
-
-"__convert_to_integral#std#18203963644056310900.85b99415f2ab9597604bfc9d379da576_3" [label="3: Return Stmt \n n$0=*&__val:unsigned long long [line 4606, column 76]\n *&return:unsigned long long=n$0 [line 4606, column 69]\n " shape="box"]
-
-
- "__convert_to_integral#std#18203963644056310900.85b99415f2ab9597604bfc9d379da576_3" -> "__convert_to_integral#std#18203963644056310900.85b99415f2ab9597604bfc9d379da576_2" ;
"make_id#pass_by_val#6647322778693099135.2f2dd9bec9bb8475abd845248a5b9203_1" [label="1: Start pass_by_val::make_id\nFormals: args:int& args:int& args:int& __return_param:pass_by_val::Id*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 60, column 1]\n " color=yellow style=filled]
@@ -312,57 +202,4 @@ digraph cfg {
"PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_4" -> "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_3" ;
-"__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_1" [label="1: Start std::__libcpp_debug_info___libcpp_debug_info\nFormals: this:std::__libcpp_debug_info*\nLocals: \n DECLARE_LOCALS(&return); [line 60, column 3]\n " color=yellow style=filled]
-
-
- "__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_1" -> "__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_6" ;
-"__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_2" [label="2: Exit std::__libcpp_debug_info___libcpp_debug_info \n " color=yellow style=filled]
-
-
-"__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_3" [label="3: Constructor Init \n n$0=*&this:std::__libcpp_debug_info* [line 62, column 58]\n *n$0.__msg_:char const *=null [line 62, column 58]\n " shape="box"]
-
-
- "__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_3" -> "__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_2" ;
-"__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_4" [label="4: Constructor Init \n n$1=*&this:std::__libcpp_debug_info* [line 62, column 40]\n *n$1.__pred_:char const *=null [line 62, column 40]\n " shape="box"]
-
-
- "__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_4" -> "__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_3" ;
-"__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_5" [label="5: Constructor Init \n n$2=*&this:std::__libcpp_debug_info* [line 62, column 27]\n *n$2.__line_:int=-1 [line 62, column 27]\n " shape="box"]
-
-
- "__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_5" -> "__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_4" ;
-"__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_6" [label="6: Constructor Init \n n$3=*&this:std::__libcpp_debug_info* [line 62, column 9]\n *n$3.__file_:char const *=null [line 62, column 9]\n " shape="box"]
-
-
- "__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_6" -> "__libcpp_debug_info#__libcpp_debug_info#std#{18246572089206113855|constexpr}.fd9011b14d3ab2edb72213ed316b618d_5" ;
-"__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_1" [label="1: Start std::__libcpp_debug_info___libcpp_debug_info\nFormals: this:std::__libcpp_debug_info* __f:char const * __l:int __p:char const * __m:char const *\nLocals: \n DECLARE_LOCALS(&return); [line 63, column 3]\n " color=yellow style=filled]
-
-
- "__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_1" -> "__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_6" ;
-"__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_2" [label="2: Exit std::__libcpp_debug_info___libcpp_debug_info \n " color=yellow style=filled]
-
-
-"__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_3" [label="3: Constructor Init \n n$0=*&this:std::__libcpp_debug_info* [line 65, column 49]\n n$1=*&__m:char const * [line 65, column 56]\n *n$0.__msg_:char const *=n$1 [line 65, column 49]\n " shape="box"]
-
-
- "__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_3" -> "__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_2" ;
-"__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_4" [label="4: Constructor Init \n n$2=*&this:std::__libcpp_debug_info* [line 65, column 35]\n n$3=*&__p:char const * [line 65, column 43]\n *n$2.__pred_:char const *=n$3 [line 65, column 35]\n " shape="box"]
-
-
- "__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_4" -> "__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_3" ;
-"__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_5" [label="5: Constructor Init \n n$4=*&this:std::__libcpp_debug_info* [line 65, column 21]\n n$5=*&__l:int [line 65, column 29]\n *n$4.__line_:int=n$5 [line 65, column 21]\n " shape="box"]
-
-
- "__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_5" -> "__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_4" ;
-"__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_6" [label="6: Constructor Init \n n$6=*&this:std::__libcpp_debug_info* [line 65, column 7]\n n$7=*&__f:char const * [line 65, column 15]\n *n$6.__file_:char const *=n$7 [line 65, column 7]\n " shape="box"]
-
-
- "__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_6" -> "__libcpp_debug_info#__libcpp_debug_info#std#{3815799194266645070|constexpr}.ec3a927eb76c2c43593f28c012f0756c_5" ;
-"piecewise_construct_t#piecewise_construct_t#std#{17358076369527506903|constexpr}.eb35b80e50c40a44a47b01aa6cf939e5_1" [label="1: Start std::piecewise_construct_t_piecewise_construct_t\nFormals: this:std::piecewise_construct_t* __param_0:std::piecewise_construct_t&\nLocals: \n DECLARE_LOCALS(&return); [line 292, column 29]\n " color=yellow style=filled]
-
-
- "piecewise_construct_t#piecewise_construct_t#std#{17358076369527506903|constexpr}.eb35b80e50c40a44a47b01aa6cf939e5_1" -> "piecewise_construct_t#piecewise_construct_t#std#{17358076369527506903|constexpr}.eb35b80e50c40a44a47b01aa6cf939e5_2" ;
-"piecewise_construct_t#piecewise_construct_t#std#{17358076369527506903|constexpr}.eb35b80e50c40a44a47b01aa6cf939e5_2" [label="2: Exit std::piecewise_construct_t_piecewise_construct_t \n " color=yellow style=filled]
-
-
}