* origin/topic/vern/cpp-prep-factoring:
test suite update due to factoring out coerce_to_record()
removal of vestigial #include's (breaking an include loop in the process)
better method name: HasCopySemantics()
Use STL functionality to initialize coercion map
comments for factored-out index slice functions
support for subclassing ScriptFunc's, esp. for alternate lambda closures
factor out record coercion; modernize management of coercion "map"
lower-level method for adding fields to records
factor out "print" statement's execution functionality
functions for indexing slices and strings
new function for getting the location, if any, associated with the current call
- Removed a couple of dead statements during merge
* origin/topic/vern/cpp-new-func:
option for deterministic descriptions of sets & tables
determinism for concurrent Zeek test suite invocations; split out deprecations
disambiguate descriptions of enums; include attributes when describing records
more liberal view of attribute equality; allow suppressing attr type-checking
support for operations on sets that return new values
low-level addition of enum values
sundry accessors/cast-ers; RE_Matcher's track their construction values
convenience functions for comparing IP addresses
- During merge, simplified the API docs for Analyzer::DeleteChild()
(found it unclear/unnecessary to refer to any `std` container types)
* origin/topic/timw/analyzer-iterators:
Clean up iterator usage in Analyzer
* origin/topic/vern/cpp-prep-fixes:
fix for associating current scope with the name of enums; name tidying
avoid infinite recursion in same_type() if it is analyzing recursive types
remove iffy reliance on type punning that relies on interpreter's behavior
fixes for propagating optimization options, and pruning script function analysis
- Removed a stray `printf()` from script-opt Reduce code
* origin/topic/vern/ast-opt: (23 commits)
Tweak minor const-ref/std::move things in script-opt code
Add alternative 'xform' baseline for test: broker.store.create-failure
Add explicit return value to Reducer::SameOp()
fixed AST transformation logic for boolean expressions
don't know how I overlooked these minor test suite updates
"opt" btest baseline updates due to AST optimizations changing printed code
"opt" baseline exceptions due to incompatibility with optimize-AST and -u
new "opt" btest alternative
update to "xform" test suite baseline due to recent line number changes
logic for driving AST optimization when requested
methods implementing AST optimization (aliasing, constant propagation, CSE)
helper class checking if common-subexpression elimination opportunity is valid
helper function for comparing collections of definition points
track more information about temporary variables
simplify and tidy up some interfaces
enable setting "-O optimize-AST" option
fix for reducing operations on boolean vectors
control whether checking for type-equivalence generates warnings
remove unneeded virtual method (same as inherited method)
accessors for additional Expr subclasses
...
* 'topic/keithjjones/openvpn' of https://github.com/keithjjones/zeek:
Replace assert with if statement so OpenVPN can use this over UDP. And fix spelling.
- Applied minor spelling/grammar suggestions from Johanna during merge
* origin/topic/jsiwek/zeekygen-code-links:
Change update-zeekygen-docs.sh to set release branch in Sphinx config
Teach Zeekygen to produce source-code-range information
Add normalize_script_path() zeek::zeekygen::detail namespace
Add starts_with()/ends_with() to zeek::util namespace
* origin/topic/jsiwek/coverity-lint:
Avoid superfluous string copies when adding to zeek::detail::sig_files
Initialize an RD_Decorate member via std::move
Fix invalid iterator comparison in UseDefs::FindSuccUsage()
- Added explicit test case of "unused assignement" warning and
&is_used suppression during merge.
* origin/topic/vern/use-defs:
activate &is_used
removed unnecessary statement flagged by Coverity (thanks, Jon!)
Adjust reference/move nitpicks in use-def/reduce code
Adjust some whitespace in UseDefs.cc
updates to "usage" test suite alternative now that more warnings are generated
suppress usage warning in baseline script
"xform" alternative baseline update, needed for recent change to master
baseline update due to shift in number of lines in base intel framework script
environment variable (which has precedence) not flags for baseline usage test
splitting out "usage" test suite alternative into -u/-uu versions
adding &is_used attribute for base scripts - not actually needed yet, but will be once optimization is added
removing unused assignments from base scripts
driver glue for invoking use-def construction
classes for managing and propagating use-defs
enhancements/changes to the Reduce class in preparation for use-defs
some tidying with smart pointers
flag/environment variable for dumping use-defs
&is_used attribute to suppress set-but-not-used usage warnings
whitespace micro-preening
* 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