* origin/topic/vern/reaching-defs: (36 commits)
added &is_assigned test case for variable rather than record field
Speedup ReachingDefs logic by ~15%
Simplify ReachingDefs::RDMap() accessor
test for -uu correctly tracking $?, and not misled by conditional assignments
&is_set => &is_assigned
remove pending maybe-reconsider-this comment
fixes for ?$ operator - always track it, and assume subrecords are initialized
speedup (and more coherent memory management) for tracking RDs
fixes for generating and evaluating RDs associate with ?$ expressions
fix for failure to reduce InlineExpr's to CatchReturnStmt's
inlining fix: propagate identifier attributes (such as &is_set)
tidier memory management
fix for an ancient bug - surprising that this hasn't caused problems previously
Fix IntrusivePtr release leaks in reaching-def logic
Change dynamic_cast in reaching-def logic to static_cast
Adjust some reaching-def memory management
Update a couple baselines for "xform" alternative
Adjust various reaching-def move/reference semantics
Change LambdaExpr::OuterIDs() accessor to return const-reference
Simplify declaration of DefPointType enum
...
Merge adjustments:
- Removed some stale str_split() references from docs
- Renumbered TypeTag enum comments
- Simplified test-case for @unload (don't need .bro files anymore)
* origin/topic/timw/deprecation-cleanup:
Doc updates
Fix language.init-in-anon-function btest due to changes to log filter predicates
Remove deprecated log filter predicates for 4.1
Remove Plugin::HookCallFunction and fix tests related to it
Remove support for .bro script extension and BRO_ environment variables
Remove deprecated ICMP events
Remove some deprected methods/events from bif files
Remove TYPE_COUNTER
Remove all of the random single-file deprecations
Remove all fully-deprecated files
Update bifcl submodule to remove deprecations from generated code
* 'topic/oakljon/gh-1352-smtp-header-parsing' of https://github.com/theavgjojo/zeek:
GH-1352: Added flag to stop processing SMTP headers in attached messages
* origin/topic/christian/fix-config-segfault:
Btest tweak for improved type rendering in config framework errors and set types
More precise type information in a config framework error message
Explicitly don't support sets with multiple index types in input/config frameworks
* origin/topic/vern/script-xform: (30 commits)
Adjust some Reducer ref-counting and IntrusivePtr usage
Fix reference counting in ListExpr inline/reduce methods
Simplify WhileStmt::CondPredStmt()
Use std::move() in Case::UpdateBody()
Switch some Stmt transform/reduce logic to use IntrusivePtr
Switch some Expr transform/reduce logic to use IntrusivePtr
Adjust how some Expr::SetOpX() calls use std::move()
Add missing header-includes to Reduce.h
Add std::move() for args to an assign_to_index call
Adjust memory management for &default argument expression type-check
Use string for TempVar::name
Switch AnalyOpt::only_func to optional<string>
Fix a signed/unsigned comparison warning
simplified some vestigial complexity I noticed when flipping through diffs
canonicalization for an error message in one of the alternative test baselines
baseline differences for "xform" alternative: changes generally reflect exposure of transformed code, or error propagation stopping earlier due to error now occurring in an assignment (to a temporary)
new testing alternative for script transformation (= xform)
bug in correctly inspecting test output file
split bifs.string_utils into a non-error test and an only-errors test, to help control for differing error propagation
logic for driving the script optimization process
...
* origin/topic/vern/bvu-remove:
Use static_cast instead of dynamic_cast for Val conversions
Remove GET_FIELD_AS macro, replace with template methods
Add templated As() method to Val, use in various places we were using dynamic_cast
Move ValImpl classes into detail namespace
Some review cleanup in Val.cc
Changes addressing pending issues per PR discussion
Remove BroValUnion by hoisting underlying Val subclass values into subclasses
* origin/topic/vern/lambda-copy-semantics:
Add NEWS entries for lambda/capture-list functionality
Tweak vector append/move logic of Frame::SerializeCopyFrame()
Switch FuncType capture-list storage to optional<vector<Capture>>
Fix memory leaks in lambda capture/frame management
tests added for new capture-by-reference closure semantics & errors
documentation updates
test suite updates and additions for new capture semantics & suppression of error cascades
support for transmitting of capture-semantics closures via Broker, while keeping deprecated functionality
minor simplifications in using type names, and unordered sets rather than vectors
changes to Frames to support access to captured-by-copy-semantics variables
changes to ScriptFunc's to track captures, and LambdaExpr's to check/manage them
parsing of new []-style captures, and creation of associated data structures
nit: fixed some 0/1 values that should instead be false/true
no semantic changes: factored some of the complexity of begin_func() into a pair of static functions for clarity
simple error propagation fix: don't complain about "unused" values that themselves are due to errors
no semantic changes: corrected & reflowed some comments, plus a whitespace tweak
* origin/topic/vern/script-inlining:
cleaner approach for localizing errors associated with duplicated ASTs: virtualize GetLocationInfo
Add commentary to Frame::GetElement(int) about lack of offset adjustment
Remove unused local in Inliner::Analyzer()
Tweak FuncInfo memory management
Switch InlineExpr from using IDPList* to vector<IDPtr>
Insert contents of #included script-opt files directly
Simplify some IntrusivePtr operations in Expr::Duplicate/Inline
Remove Func::AsScriptFunc() methods
Remove superflous std::move's from Inliner return values
Remove SetupResult::parse_only field
Rename Frame::IncreaseOffset() to Frame::AdjustOffset()
Update alternative plugins.hooks baselines
Superficial changes to script-opt related code
merge glitch
updates from test suite
inlining of Zeek script functions
inlining of Zeek script functions
* origin/topic/jsiwek/gh-1329-fuzzer-driver-cleanup:
Rename a 'do_net_run' variable to 'do_run_loop'
GH-1329: call Zeek's cleanup function from standalone fuzzer driver
Merge adjustments:
- Fix the `--with-caf=` option from emitting messages about a variable
having an unset value.
- Fix the `zeek-config --caf_root` option
* origin/topic/neverlord/caf-migration:
Update submodule(s)
Fix message ordering of Broker messages
Fix UB in shutdown of Broker manager
Preserve string output of Broker errors
Migrate to CAF 0.18
Merge adjustments:
- Rewrote the check for error response as a switch statement to
fix compiler warning about signed/unsigned comparison and also
to just simplify/clarify the logic.
- Changed the btest to use `zeek -b`.
* origin/topic/vlad/gh-1286:
Add tests for new SMB3 multichannel support
Fix SMB2 response status parsing. Fixes#1286
* origin/topic/christian/gh-1307-baseline-refresh:
Additional use of btest-diff --binary
Update btest-diff calls on binary files to using "--binary"
Switch to btest-diff with --binary support
Update external baseline commit hashes
Fix binary baseline & line-end problem
Fix diff-remove-abspath on OSX
Bump submodules for btest 0.64 update
Canonifier improvements for the scripts.base.frameworks.logging.ascii-double test
Baseline refresh to reflect btest 0.64
Make diff-remove-abspath canonifier match on non-whitespace paths only
Harden diff-remove-timestamps canonifier