diff --git a/src/script_opt/Expr.cc b/src/script_opt/Expr.cc index 5e6f0dcc40..1ad24c5277 100644 --- a/src/script_opt/Expr.cc +++ b/src/script_opt/Expr.cc @@ -2858,7 +2858,7 @@ static NameExprPtr get_RFU_LHS_var(const Stmt* s) { auto s_e = s->AsExprStmt()->StmtExpr(); auto var = s_e->GetOp1()->GetOp1()->GetOp1(); ASSERT(var->Tag() == EXPR_NAME); - return cast_intrusive(var); + return cast_intrusive(std::move(var)); } // This one mines out the RHS, so 'y' for "x$foo = y$bar", or for @@ -2874,7 +2874,7 @@ static NameExprPtr get_RFU_RHS_var(const Stmt* s) { var = rhs->GetOp2()->GetOp1(); ASSERT(var->Tag() == EXPR_NAME); - return cast_intrusive(var); + return cast_intrusive(std::move(var)); } RecordFieldUpdatesExpr::RecordFieldUpdatesExpr(ExprTag t, const std::vector& stmts, @@ -2952,7 +2952,7 @@ ExprPtr RecordFieldUpdatesExpr::Reduce(Reducer* c, StmtPtr& red_stmt) { ExprPtr AssignRecordFieldsExpr::Duplicate() { auto e1 = op1->Duplicate(); auto e2 = op2->Duplicate(); - return SetSucc(new AssignRecordFieldsExpr(e1, e2, lhs_map, rhs_map)); + return SetSucc(new AssignRecordFieldsExpr(std::move(e1), std::move(e2), lhs_map, rhs_map)); } void AssignRecordFieldsExpr::FoldField(RecordVal* rv1, RecordVal* rv2, size_t i) const { @@ -3027,13 +3027,13 @@ FieldExprPtr ConstructFromRecordExpr::FindRecordSource(const Expr* const_e) { if ( rhs_rec->Tag() != EXPR_NAME ) return nullptr; - return cast_intrusive(fa_rhs); + return cast_intrusive(std::move(fa_rhs)); } ExprPtr ConstructFromRecordExpr::Duplicate() { auto e1 = op1->Duplicate(); auto e2 = op2->Duplicate(); - return SetSucc(new ConstructFromRecordExpr(e1, e2, lhs_map, rhs_map)); + return SetSucc(new ConstructFromRecordExpr(std::move(e1), std::move(e2), lhs_map, rhs_map)); } bool ConstructFromRecordExpr::IsReduced(Reducer* c) const { return op1->HasReducedOps(c) && op2->IsReduced(c); } @@ -3066,7 +3066,7 @@ ExprPtr ConstructFromRecordExpr::Reduce(Reducer* c, StmtPtr& red_stmt) { ExprPtr AddRecordFieldsExpr::Duplicate() { auto e1 = op1->Duplicate(); auto e2 = op2->Duplicate(); - return SetSucc(new AddRecordFieldsExpr(e1, e2, lhs_map, rhs_map)); + return SetSucc(new AddRecordFieldsExpr(std::move(e1), std::move(e2), lhs_map, rhs_map)); } void AddRecordFieldsExpr::FoldField(RecordVal* rv1, RecordVal* rv2, size_t i) const { @@ -3084,7 +3084,7 @@ void AddRecordFieldsExpr::FoldField(RecordVal* rv1, RecordVal* rv2, size_t i) co auto sum = add_expr->Eval(nullptr); ASSERT(sum); - rv1->Assign(lhs_map[i], sum); + rv1->Assign(lhs_map[i], std::move(sum)); } CoerceToAnyExpr::CoerceToAnyExpr(ExprPtr arg_op) : UnaryExpr(EXPR_TO_ANY_COERCE, std::move(arg_op)) { diff --git a/src/script_opt/Expr.h b/src/script_opt/Expr.h index 31ebeaf2b7..f1b8427319 100644 --- a/src/script_opt/Expr.h +++ b/src/script_opt/Expr.h @@ -143,7 +143,8 @@ public: protected: // Used for duplicating. AssignRecordFieldsExpr(ExprPtr e1, ExprPtr e2, std::vector _lhs_map, std::vector _rhs_map) - : RecordFieldUpdatesExpr(EXPR_REC_ASSIGN_FIELDS, e1, e2, _lhs_map, _rhs_map) {} + : RecordFieldUpdatesExpr(EXPR_REC_ASSIGN_FIELDS, std::move(e1), std::move(e2), std::move(_lhs_map), + std::move(_rhs_map)) {} void FoldField(RecordVal* rv1, RecordVal* rv2, size_t i) const override; }; @@ -170,7 +171,7 @@ public: protected: ConstructFromRecordExpr(ExprPtr e1, ExprPtr e2, std::vector _lhs_map, std::vector _rhs_map) - : AssignRecordFieldsExpr(e1, e2, _lhs_map, _rhs_map) { + : AssignRecordFieldsExpr(std::move(e1), std::move(e2), std::move(_lhs_map), std::move(_rhs_map)) { tag = EXPR_REC_CONSTRUCT_WITH_REC; } @@ -191,7 +192,8 @@ public: protected: AddRecordFieldsExpr(ExprPtr e1, ExprPtr e2, std::vector _lhs_map, std::vector _rhs_map) - : RecordFieldUpdatesExpr(EXPR_REC_ADD_FIELDS, e1, e2, _lhs_map, _rhs_map) {} + : RecordFieldUpdatesExpr(EXPR_REC_ADD_FIELDS, std::move(e1), std::move(e2), std::move(_lhs_map), + std::move(_rhs_map)) {} void FoldField(RecordVal* rv1, RecordVal* rv2, size_t i) const override; }; diff --git a/src/script_opt/FuncInfo.cc b/src/script_opt/FuncInfo.cc index ed2ec6466f..8b6314dd4d 100644 --- a/src/script_opt/FuncInfo.cc +++ b/src/script_opt/FuncInfo.cc @@ -142,7 +142,6 @@ static std::unordered_map func_attrs = { {"Spicy::__toggle_analyzer", ATTR_NO_SCRIPT_SIDE_EFFECTS}, {"Supervisor::__create", ATTR_NO_SCRIPT_SIDE_EFFECTS}, {"Supervisor::__destroy", ATTR_NO_SCRIPT_SIDE_EFFECTS}, - {"Supervisor::__init_cluster", ATTR_NO_SCRIPT_SIDE_EFFECTS}, {"Supervisor::__is_supervised", ATTR_IDEMPOTENT}, {"Supervisor::__is_supervisor", ATTR_IDEMPOTENT}, {"Supervisor::__node", ATTR_IDEMPOTENT}, diff --git a/testing/btest/Baseline.zam/bifs.from_json-5/.stderr b/testing/btest/Baseline.zam/bifs.from_json-5/.stderr index ed0056356c..d7ed338df6 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-5/.stderr +++ b/testing/btest/Baseline.zam/bifs.from_json-5/.stderr @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 4: tables are not supported (from_json([], ::#0, from_json_default_key_mapper)) +error in <...>/from_json.zeek, line 4: cannot convert JSON type 'array' to Zeek type 'table' (from_json([], ::#0, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline.zam/bifs.from_json-6/.stderr b/testing/btest/Baseline.zam/bifs.from_json-6/.stderr index 7a7c048f3c..b1ddbdd07a 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-6/.stderr +++ b/testing/btest/Baseline.zam/bifs.from_json-6/.stderr @@ -1,2 +1,3 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 5: wrong port format, must be <...>/(tcp|udp|icmp|unknown)/ (from_json("80", ::#0, from_json_default_key_mapper)) +error in <...>/from_json.zeek, line 8: wrong port format, string must be <...>/(tcp|udp|icmp|unknown)/ (from_json("80", ::#2, from_json_default_key_mapper)) +error in <...>/from_json.zeek, line 9: wrong port format, object must have 'port' and 'proto' members (from_json({}, ::#4, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline.zam/bifs.from_json-6/.stdout b/testing/btest/Baseline.zam/bifs.from_json-6/.stdout index aee95c8a8e..a4da3aa3e4 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-6/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json-6/.stdout @@ -1,2 +1,4 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +[v=80/tcp, valid=T] +[v=, valid=F] [v=, valid=F] diff --git a/testing/btest/Baseline.zam/bifs.from_json/.stdout b/testing/btest/Baseline.zam/bifs.from_json/.stdout index 24f35f7b9b..584cb2ca60 100644 --- a/testing/btest/Baseline.zam/bifs.from_json/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json/.stdout @@ -5,4 +5,6 @@ aa:bb::/32, }, se={ [192.168.0.1, 80/tcp] , [2001:db8::1, 8080/udp] +}, tbl={ +[192.168.0.1, 80/tcp] = foo }], valid=T] diff --git a/testing/btest/Baseline.zam/core.file-analyzer-violation/.stderr b/testing/btest/Baseline.zam/core.file-analyzer-violation/.stderr new file mode 100644 index 0000000000..e3f6131b1d --- /dev/null +++ b/testing/btest/Baseline.zam/core.file-analyzer-violation/.stderr @@ -0,0 +1,2 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +received termination signal diff --git a/testing/btest/Baseline.zam/core.file-analyzer-violation/files.log b/testing/btest/Baseline.zam/core.file-analyzer-violation/files.log index abef87d6a6..3b26732673 100644 --- a/testing/btest/Baseline.zam/core.file-analyzer-violation/files.log +++ b/testing/btest/Baseline.zam/core.file-analyzer-violation/files.log @@ -8,3 +8,4 @@ #fields ts fuid uid id.orig_h id.orig_p id.resp_h id.resp_p source depth analyzers mime_type filename duration local_orig is_orig seen_bytes total_bytes missing_bytes overflow_bytes timedout parent_fuid #types time string string addr port addr port string count set[string] string string interval bool bool count count count count bool string XXXXXXXXXX.XXXXXX FKPuH630Tmj6UQUMP7 - - - - - ./myfile.exe 0 PE application/x-dosexec - 0.000000 - - 64 - 0 0 F - +#close XXXX-XX-XX-XX-XX-XX diff --git a/testing/btest/Baseline.zam/opt.ZAM-bif-tracking/output b/testing/btest/Baseline.zam/opt.ZAM-bif-tracking/output index 542c7fe5c1..795f0f84d7 100644 --- a/testing/btest/Baseline.zam/opt.ZAM-bif-tracking/output +++ b/testing/btest/Baseline.zam/opt.ZAM-bif-tracking/output @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -534 seen BiFs, 0 unseen BiFs (), 0 new BiFs () +533 seen BiFs, 0 unseen BiFs (), 0 new BiFs () diff --git a/testing/btest/language/record-chain-assign.zeek b/testing/btest/language/record-chain-assign.zeek index acccacc7cc..ac896760e6 100644 --- a/testing/btest/language/record-chain-assign.zeek +++ b/testing/btest/language/record-chain-assign.zeek @@ -1,5 +1,6 @@ # @TEST-DOC: Test for correct ZAM optimization of record "chains". # +# @TEST-REQUIRES: test "${ZEEK_USE_CPP}" != "1" # @TEST-EXEC: zeek -b -O ZAM %INPUT >output # @TEST-EXEC: btest-diff output diff --git a/testing/btest/opt/ZAM-bif-tracking.zeek b/testing/btest/opt/ZAM-bif-tracking.zeek index a38bcc5e6d..b6c027f8b1 100644 --- a/testing/btest/opt/ZAM-bif-tracking.zeek +++ b/testing/btest/opt/ZAM-bif-tracking.zeek @@ -170,7 +170,6 @@ global known_BiFs = set( "Spicy::__toggle_analyzer", "Supervisor::__create", "Supervisor::__destroy", - "Supervisor::__init_cluster", "Supervisor::__is_supervised", "Supervisor::__is_supervisor", "Supervisor::__node",