cprover
jbmc_main.cpp
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: CBMC Main Module
4
5
Author: Daniel Kroening, kroening@kroening.com
6
7
\*******************************************************************/
8
11
12
/*
13
14
JBMC
15
Bounded Model Checking for Java
16
Copyright (C) 2017-2018 Daniel Kroening <kroening@kroening.com>
17
18
*/
19
20
#include "
jbmc_parse_options.h
"
21
22
#include <
util/unicode.h
>
23
24
#ifdef IREP_HASH_STATS
25
#include <iostream>
26
#endif
27
28
#ifdef IREP_HASH_STATS
29
extern
unsigned
long
long
irep_hash_cnt;
30
extern
unsigned
long
long
irep_cmp_cnt;
31
extern
unsigned
long
long
irep_cmp_ne_cnt;
32
#endif
33
34
#ifdef _MSC_VER
35
int
wmain(
int
argc,
const
wchar_t
**argv_wide)
36
{
37
auto
vec=
narrow_argv
(argc, argv_wide);
38
auto
narrow
=
to_c_str_array
(std::begin(vec), std::end(vec));
39
auto
argv=
narrow
.data();
40
#else
41
int
main
(
int
argc,
const
char
**argv)
42
{
43
#endif
44
jbmc_parse_optionst
parse_options(argc, argv);
45
46
int
res=parse_options.
main
();
47
48
#ifdef IREP_HASH_STATS
49
std::cout <<
"IREP_HASH_CNT="
<< irep_hash_cnt <<
'\n'
;
50
std::cout <<
"IREP_CMP_CNT="
<< irep_cmp_cnt <<
'\n'
;
51
std::cout <<
"IREP_CMP_NE_CNT="
<< irep_cmp_ne_cnt <<
'\n'
;
52
#endif
53
54
return
res;
55
}
main
int main(int argc, const char **argv)
Definition:
jbmc_main.cpp:41
to_c_str_array
std::vector< const char * > to_c_str_array(It b, It e)
Definition:
unicode.h:59
parse_options_baset::main
virtual int main()
Definition:
parse_options.cpp:76
narrow
output_type narrow(input_type input)
Run-time checked narrowing cast.
Definition:
narrow.h:34
jbmc_parse_options.h
JBMC Command Line Option Processing.
unicode.h
narrow_argv
std::vector< std::string > narrow_argv(int argc, const wchar_t **argv_wide)
Definition:
unicode.cpp:150
jbmc_parse_optionst
Definition:
jbmc_parse_options.h:96
jbmc
src
jbmc
jbmc_main.cpp
Generated by
1.8.20