mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Merge remote-tracking branch 'origin/topic/vern/use-C++-fix'
* origin/topic/vern/use-C++-fix: fix existing checks for looking to use C++ when it's not available
This commit is contained in:
commit
16ee942a8d
3 changed files with 16 additions and 8 deletions
4
CHANGES
4
CHANGES
|
@ -1,3 +1,7 @@
|
|||
5.0.0-dev.92 | 2022-02-04 10:33:47 -0700
|
||||
|
||||
* fix existing checks for looking to use C++ when it's not available (Vern Paxson, Corelight)
|
||||
|
||||
5.0.0-dev.90 | 2022-02-04 10:32:41 -0700
|
||||
|
||||
* fixes for ZAM profiling, which didn't get fully integrated originally (Vern Paxson, Corelight)
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
5.0.0-dev.90
|
||||
5.0.0-dev.92
|
||||
|
|
|
@ -286,9 +286,6 @@ static void init_options()
|
|||
if ( analysis_options.use_CPP && generating_CPP )
|
||||
reporter->FatalError("generating C++ incompatible with using C++");
|
||||
|
||||
if ( analysis_options.use_CPP && ! CPP_init_hook )
|
||||
reporter->FatalError("no C++ functions available to use");
|
||||
|
||||
auto usage = getenv("ZEEK_USAGE_ISSUES");
|
||||
|
||||
if ( usage )
|
||||
|
@ -336,10 +333,7 @@ static void init_options()
|
|||
static void report_CPP()
|
||||
{
|
||||
if ( ! CPP_init_hook )
|
||||
{
|
||||
printf("no C++ script bodies available\n");
|
||||
exit(0);
|
||||
}
|
||||
reporter->FatalError("no C++ script bodies available");
|
||||
|
||||
printf("C++ script bodies available that match loaded scripts:\n");
|
||||
|
||||
|
@ -373,6 +367,9 @@ static void report_CPP()
|
|||
|
||||
static void use_CPP()
|
||||
{
|
||||
if ( ! CPP_init_hook )
|
||||
reporter->FatalError("no C++ functions available to use");
|
||||
|
||||
for ( auto& f : funcs )
|
||||
{
|
||||
auto hash = f.Profile()->HashVal();
|
||||
|
@ -553,7 +550,14 @@ void analyze_scripts()
|
|||
auto pfs = std::make_unique<ProfileFuncs>(funcs, is_CPP_compilable, false);
|
||||
|
||||
if ( CPP_init_hook )
|
||||
{
|
||||
(*CPP_init_hook)();
|
||||
if ( compiled_scripts.empty() )
|
||||
// The initialization failed to produce any
|
||||
// script bodies. Make this easily available
|
||||
// to subsequent checks.
|
||||
CPP_init_hook = nullptr;
|
||||
}
|
||||
|
||||
if ( analysis_options.report_CPP )
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue