Commit graph

108 commits

Author SHA1 Message Date
Vern Paxson
26dae9a5ae -O gen-C++ maintenance: fixes for attributes & initializing globals 2022-10-14 08:37:45 -05:00
Tim Wojtulewicz
bf98c1e9c8 Merge remote-tracking branch 'origin/topic/vern/CPP-global-init'
* origin/topic/vern/CPP-global-init:
  updates to -O C++ user and maintenance documentation
  use dynamic rather than static initialization of globals for scripts compiled to C++
  safety checking for initializing scripts compiled to C++
  fixes for initializing scripts compiled to C++
  restructured tracking of initializations of globals for script compilation
2022-10-03 09:45:19 -07:00
Vern Paxson
403efd4052 updates to -O C++ user and maintenance documentation 2022-09-29 15:12:04 -07:00
Vern Paxson
0687959f1c use dynamic rather than static initialization of globals for scripts compiled to C++ 2022-09-29 15:11:05 -07:00
Vern Paxson
6ad28b37e6 safety checking for initializing scripts compiled to C++ 2022-09-29 15:10:28 -07:00
Vern Paxson
5c21240daf fixes for initializing scripts compiled to C++ 2022-09-29 15:09:37 -07:00
Vern Paxson
96668ca0d3 fixes for compiling "standalone" C++ scripts 2022-09-24 14:56:42 -07:00
Vern Paxson
eec733beae updates to notes for compile-to-C++ maintenance 2022-09-16 16:53:42 -07:00
Vern Paxson
dbae112bdc C++ script generation fix for lambdas that have identical bodies 2022-09-16 16:46:35 -07:00
Vern Paxson
7210225bba fix for C++ scripts that refer to "opaque" types 2022-09-16 16:45:37 -07:00
Vern Paxson
a725cfa9e3 C++ compilation support for 2-valued vector "for" loops 2022-09-16 16:45:09 -07:00
Vern Paxson
7b8d92b4f6 C++ compilation support for RE /s operator 2022-09-16 16:44:00 -07:00
Vern Paxson
5c6801131f run-time checking of vector operations for overflows and division-by-zero 2022-09-16 16:43:12 -07:00
Tim Wojtulewicz
2abc82722f Fix a swath of AUTO_CAUSES_COPY issues reported by Coverity 2022-08-15 09:45:46 -07:00
Vern Paxson
7a41170a59 updates for gen-C++ maintenance, including skipping some inappropriate tests 2022-08-01 16:47:17 -07:00
Vern Paxson
1bbf345e46 gen-C++ support for vector bit-shift operations 2022-08-01 10:26:26 -07:00
Vern Paxson
f912ac06ff make gen-C++ maintenance scripts directly executable 2022-07-31 11:31:01 -07:00
AmazingPP
f2bfa61fc6 Add bitshift operators 2022-07-21 11:12:30 +08:00
Tim Wojtulewicz
f624c18383 Deprecate bro_int_t and bro_uint_t 2022-07-12 12:01:23 -07:00
Tim Wojtulewicz
9e953f50cb Merge remote-tracking branch 'origin/topic/vern/remove-deprecated-closures'
* origin/topic/vern/remove-deprecated-closures:
  removed deprecated capture-by-reference closures
2022-06-27 13:04:57 -07:00
Tim Wojtulewicz
7c4fd382d9 Code modernization: Convert from deprecated C standard library headers 2022-06-27 09:47:31 -07:00
Vern Paxson
5a0a88526e removed deprecated capture-by-reference closures 2022-06-17 15:55:43 -07:00
Vern Paxson
702172079a tweaks per reviewing feedback 2022-05-13 16:16:21 -07:00
Vern Paxson
a21d14fbd2 format shell scripts per style guide 2022-05-13 10:31:27 -07:00
Vern Paxson
08fbc7efb3 helper scripts for -O C++ maintenance 2022-05-12 14:09:35 -07:00
Vern Paxson
56140046d3 final changes for -O C++ feature completeness, mainly "when" statement support 2022-05-12 14:07:36 -07:00
Vern Paxson
bcebe27ced updates for compile-to-C++ 2022-03-23 15:36:36 -07:00
Matthew Luckie
11f8729997 remove deprecated union and timer types, addressing #1898 2022-02-19 19:17:51 +13:00
Tim Wojtulewicz
3d9d6e953b Merge remote-tracking branch 'origin/topic/vern/when-lambda'
* origin/topic/vern/when-lambda:
  explicitly provide the frame for evaluating a "when" timeout expression
  attempt to make "when" btest deterministic
  tests for new "when" semantics/errors
  update existing test suite usage of "when" statements to include captures
  update uses of "when" in base scripts to include captures
  captures for "when" statements update Triggers to IntrusivePtr's and simpler AST traversal introduce IDSet type, migrate associated "ID*" types to "const ID*"
  logic (other than in profiling) for assignments that yield separate values
  option for internal use to mark a function type as allowing non-expression returns
  removed some now-obsolete profiling functionality
  minor commenting clarifications
2022-01-14 14:41:42 -07:00
Tim Wojtulewicz
2accf6dfbf Merge remote-tracking branch 'origin/topic/vern/CPP-type-switch'
* origin/topic/vern/CPP-type-switch:
  support for compiling type-based switches to C++
  make encountering uncompilable "standalone" functions to be a hard error
  fix: ZAM could misinterpret a "type" switch that starts with a "default"
  fix: don't treat pseudo-identifiers in type cases as local variables
  removed development helper scripts now obsolete with --optimize-files=
2022-01-11 15:02:52 -07:00
Vern Paxson
f895008c34 captures for "when" statements
update Triggers to IntrusivePtr's and simpler AST traversal
introduce IDSet type, migrate associated "ID*" types to "const ID*"
2022-01-07 14:50:35 -08:00
Vern Paxson
fa142438fe logic (other than in profiling) for assignments that yield separate values 2022-01-07 14:18:42 -08:00
Tim Wojtulewicz
edf90a51e4 GH-1624: Migrate check_and_promote and a few Expr methods to IntrusivePtr 2022-01-07 12:33:54 -07:00
Vern Paxson
721d99636e support for compiling type-based switches to C++ 2021-12-23 11:39:58 -08:00
Vern Paxson
c6cd5d7a3b make encountering uncompilable "standalone" functions to be a hard error 2021-12-23 11:38:09 -08:00
Vern Paxson
adb4958c73 removed development helper scripts now obsolete with --optimize-files= 2021-12-23 11:36:35 -08:00
Vern Paxson
3fc58bdd9f minor note regarding improving performance of C++-generated code 2021-12-12 12:42:16 -08:00
Vern Paxson
86288426fb factoring of generating C++ initializations, no semantic changes 2021-12-12 12:41:16 -08:00
Vern Paxson
2f7137999f restored support for incremental compilation of scripts to C++ 2021-12-12 12:36:45 -08:00
Vern Paxson
3b3cea799b fixes for -O gen-standalone-C++ 2021-12-12 12:36:08 -08:00
Vern Paxson
96ed944571 fix for compiling record constructors to C++ 2021-12-12 12:34:23 -08:00
Vern Paxson
52ed9351a9 fixes for compiling vector operations to C++ 2021-12-12 12:33:38 -08:00
Vern Paxson
ce7f886077 removing vestigial methods 2021-12-12 12:32:27 -08:00
Vern Paxson
9069e744f9 replace --optimize-only with --optimize-funcs and --optimize-files 2021-12-10 12:45:27 -08:00
Tim Wojtulewicz
aa91f72b34 Merge remote-tracking branch 'origin/topic/vern/cpp-add-option2'
* origin/topic/vern/cpp-add-option2:
  reintroduction of "-O add-C++" option
2021-12-10 13:13:26 -07:00
Tim Wojtulewicz
56b421db9f Merge remote-tracking branch 'origin/topic/vern/cpp-maint-dec21'
* origin/topic/vern/cpp-maint-dec21:
  fixes for vector operations
  flag globals initialized to opaque values as non-compilable
  skip type signatures for lambdas
  fix for translating filenames beginning with numbers to C++ variable names
  remove unnecessary includes
2021-12-10 13:12:58 -07:00
Vern Paxson
8c59626eb9 reintroduction of "-O add-C++" option 2021-12-10 10:19:23 -08:00
Vern Paxson
ac74943f26 fixes for vector operations 2021-12-10 09:32:42 -08:00
Vern Paxson
6788be94c9 flag globals initialized to opaque values as non-compilable 2021-12-10 09:31:41 -08:00
Vern Paxson
53342fdd29 skip type signatures for lambdas 2021-12-10 09:27:58 -08:00