Merge remote-tracking branch 'origin/topic/vern/script-opt-maint.Aug23'

* origin/topic/vern/script-opt-maint.Aug23:
  updated notes regarding "-O gen-C++" maintenance
  "-O gen-C++" support for "assert" statements
  addressed some nits re "-O gen-C++" script optimization
  fixes for compiling lambdas to C++
  fixes to avoid ambiguities in analyzing captures for script optimization
  disambiguate lambdas by adding scoping and consideration of captures
  addressed performance and correctness issues flagged by Coverity
This commit is contained in:
Tim Wojtulewicz 2023-08-24 12:17:42 -07:00
commit ae03d591b8
19 changed files with 254 additions and 124 deletions

View file

@ -0,0 +1,7 @@
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
f, lambda_<505728364269398358>
compiled-C++
g, lambda_<8496146571423528161>
compiled-C++
test_function, test_function
compiled-C++

View file

@ -1,9 +1,9 @@
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
error in <...>/closure-binding-errors.zeek, line 12: a is captured but not used inside lambda (function(){ print no a!})
error in <...>/closure-binding-errors.zeek, line 12: a is captured but not used inside lambda (function()[a]{ print no a!})
error in <...>/closure-binding-errors.zeek, line 13: no such local identifier: a2
error in <...>/closure-binding-errors.zeek, line 14: b is used inside lambda but not captured (function(){ print b})
error in <...>/closure-binding-errors.zeek, line 15: a is captured but not used inside lambda (function(){ print b})
error in <...>/closure-binding-errors.zeek, line 16: b listed multiple times in capture (function(){ print b})
error in <...>/closure-binding-errors.zeek, line 14: b is used inside lambda but not captured (function()[a]{ print b})
error in <...>/closure-binding-errors.zeek, line 15: a is captured but not used inside lambda (function()[a, b]{ print b})
error in <...>/closure-binding-errors.zeek, line 16: b listed multiple times in capture (function()[b, b]{ print b})
error in <...>/closure-binding-errors.zeek, line 18: cannot specify global in capture: c
error in <...>/closure-binding-errors.zeek, line 19: cannot specify type in capture: t
error in <...>/closure-binding-errors.zeek, line 9 and <...>/closure-binding-errors.zeek, line 20: already defined (a)