projects
/
c11tester.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
remove STL vector
[c11tester.git]
/
main.cc
diff --git
a/main.cc
b/main.cc
index cc3fcbf081316cf3958cf1f59915e4b3ca8d9e9a..5396823334df9a0b47f3077f3c352cc6774e7e1b 100644
(file)
--- a/
main.cc
+++ b/
main.cc
@@
-17,7
+17,7
@@
#include "snapshot-interface.h"
#include "plugins.h"
#include "snapshot-interface.h"
#include "plugins.h"
-
static
void param_defaults(struct model_params *params)
+void param_defaults(struct model_params *params)
{
params->verbose = !!DBG_ENABLED();
params->uninitvalue = 0;
{
params->verbose = !!DBG_ENABLED();
params->uninitvalue = 0;
@@
-161,16
+161,6
@@
static void install_trace_analyses(ModelExecution *execution)
}
}
}
}
-/** The model_main function contains the main model checking loop. */
-static void model_main()
-{
- snapshot_record(0);
- model->run();
- delete model;
-
- DEBUG("Exiting\n");
-}
-
/**
* Main function. Just initializes snapshotting library and the
* snapshotting library calls the model_main function.
/**
* Main function. Just initializes snapshotting library and the
* snapshotting library calls the model_main function.
@@
-181,42
+171,36
@@
int main(int argc, char **argv)
main_argv = argv;
/*
main_argv = argv;
/*
- * If this printf statement is removed, C
DSCheck
er will fail on an
+ * If this printf statement is removed, C
11Test
er will fail on an
* assert on some versions of glibc. The first time printf is
* called, it allocated internal buffers. We can't easily snapshot
* libc since we also use it.
*/
* assert on some versions of glibc. The first time printf is
* called, it allocated internal buffers. We can't easily snapshot
* libc since we also use it.
*/
- printf("C
DSCheck
er\n"
- "Copyright (c) 2013 Regents of the University of California. All rights reserved.\n"
+ printf("C
11Test
er\n"
+ "Copyright (c) 2013
and 2019
Regents of the University of California. All rights reserved.\n"
"Distributed under the GPLv2\n"
"Distributed under the GPLv2\n"
- "Written by
Brian Norris
and Brian Demsky\n\n");
+ "Written by
Weiyu Luo, Brian Norris,
and Brian Demsky\n\n");
/* Configure output redirection for the model-checker */
redirect_output();
/* Configure output redirection for the model-checker */
redirect_output();
- //Initialize snapshotting library
- if (!model
_init)
+ //Initialize snapshotting library
and model checker object
+ if (!model
) {
snapshot_system_init(10000, 1024, 1024, 40000);
snapshot_system_init(10000, 1024, 1024, 40000);
+ model = new ModelChecker();
+ model->startChecker();
+ }
- struct model_params params;
-
- param_defaults(¶ms);
register_plugins();
register_plugins();
- parse_options(¶ms, main_argc, main_argv);
- //Initialize race detector
- initRaceDetector();
+ //Parse command line options
+ model_params *params = model->getParams();
+ parse_options(params, main_argc, main_argv);
- snapshot_stack_init();
- if (!model_init)
- model = new ModelChecker();
- else
- model = model_init;
-
- model->setParams(params);
install_trace_analyses(model->get_execution());
install_trace_analyses(model->get_execution());
- startExecution(&model_main);
+ model->startMainThread();
+ DEBUG("Exiting\n");
}
}