Skip to content

Commit 32c465a

Browse files
authored
Merge pull request #556 from diffblue/cbmc-6
bump CBMC to version 6
2 parents ef93eaa + 9d91148 commit 32c465a

File tree

12 files changed

+21
-29
lines changed

12 files changed

+21
-29
lines changed

lib/cbmc

Submodule cbmc updated 255 files

regression/verilog/case/case3.v

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ module main(input clk, x, y);
1414

1515
always @(posedge clk)
1616
casez (cnt1)
17-
{10'b0z, 2'b00}:;
18-
{10'b0z, 2'b01}:;
19-
{10'b0z, 2'b1z}: out=1;
17+
10'b0z00:;
18+
10'b0z01:;
19+
10'b0z1z: out=1;
2020
endcase
2121

2222
always assert p1: out==0;

regression/verilog/case/case4.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ module m(input [7:0] i, output reg [31:0] x);
44
casex(i)
55
8'b1x: x=1;
66
8'bxx: x=2;
7-
{ 'b11, 'bx, 'bx }: x=3;
7+
8'b11xx: x=3;
88
default: x=4;
99
endcase
1010

src/smvlang/smv_language.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ bool smv_languaget::parse(
3232
const std::string &path,
3333
message_handlert &message_handler)
3434
{
35-
smv_parsert smv_parser;
35+
smv_parsert smv_parser(message_handler);
3636

3737
const std::string main_name=smv_module_symbol("main");
3838
smv_parser.module=&smv_parser.parse_tree.modules[main_name];
@@ -41,7 +41,6 @@ bool smv_languaget::parse(
4141

4242
smv_parser.set_file(path);
4343
smv_parser.in=&instream;
44-
smv_parser.log.set_message_handler(message_handler);
4544

4645
bool result=smv_parser.parse();
4746

src/smvlang/smv_parser.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ extern class smv_parsert *smv_parser_ptr;
2020
class smv_parsert:public parsert
2121
{
2222
public:
23-
smv_parsert()
23+
explicit smv_parsert(message_handlert &message_handler)
24+
: parsert(message_handler)
2425
{
2526
PRECONDITION(smv_parser_ptr == nullptr);
2627
smv_parser_ptr = this;

src/verilog/verilog_language.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,10 @@ bool verilog_languaget::parse(
6969
else
7070
standard = verilog_standardt::V2005_SMV;
7171

72-
verilog_parsert verilog_parser(standard);
72+
verilog_parsert verilog_parser(standard, message_handler);
7373

7474
verilog_parser.set_file(path);
7575
verilog_parser.in=&str;
76-
verilog_parser.log.set_message_handler(message_handler);
7776
verilog_parser.grammar=verilog_parsert::LANGUAGE;
7877

7978
verilog_scanner_init();
@@ -297,11 +296,10 @@ bool verilog_languaget::to_expr(
297296
verilog_standardt standard = verilog_standardt::V2005;
298297

299298
// parsing
300-
verilog_parsert verilog_parser(standard);
299+
verilog_parsert verilog_parser(standard, message_handler);
301300

302301
verilog_parser.set_file("");
303302
verilog_parser.in=&i_preprocessed;
304-
verilog_parser.log.set_message_handler(message_handler);
305303
verilog_parser.grammar=verilog_parsert::EXPRESSION;
306304
verilog_scanner_init();
307305

src/verilog/verilog_parser.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,9 @@ bool parse_verilog_file(const std::string &filename, verilog_standardt standard)
3434
std::ifstream in(widen_if_needed(filename));
3535
console_message_handlert console_message_handler;
3636

37-
verilog_parsert verilog_parser(standard);
37+
verilog_parsert verilog_parser(standard, console_message_handler);
3838

3939
verilog_parser.set_file(filename);
40-
verilog_parser.log.set_message_handler(console_message_handler);
4140

4241
if(filename=="")
4342
verilog_parser.in=&std::cin;

src/verilog/verilog_parser.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@ class verilog_parsert:public parsert
3838
return yyverilogparse()!=0;
3939
}
4040

41-
explicit verilog_parsert(verilog_standardt standard) : parse_tree(standard)
41+
explicit verilog_parsert(
42+
verilog_standardt standard,
43+
message_handlert &message_handler)
44+
: parsert(message_handler), parse_tree(standard)
4245
{
4346
PRECONDITION(verilog_parser_ptr == nullptr);
4447
verilog_parser_ptr = this;

src/vhdl/parser.y

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,7 @@ int yyvhdlerror(const char *error_str)
5050
tmp+='\'';
5151
}
5252

53-
source_locationt source_location;
54-
source_location.set_column(yyvhdllval.column);
55-
source_location.set_line(yyvhdllval.line);
56-
source_location.set_file(yyvhdllval.file);
57-
58-
PARSER.log.error().source_location=source_location;
59-
PARSER.log.error() << tmp << messaget::eom;
53+
PARSER.parse_error(error_str, yyvhdltext);
6054

6155
return strlen(error_str)+1;
6256
}

src/vhdl/vhdl_language.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,10 @@ bool vhdl_languaget::parse(
3333
const std::string &path,
3434
message_handlert &message_handler)
3535
{
36-
vhdl_parsert vhdl_parser;
36+
vhdl_parsert vhdl_parser(message_handler);
3737

3838
vhdl_parser.set_file(path);
3939
vhdl_parser.in=&instream;
40-
vhdl_parser.log.set_message_handler(message_handler);
4140
//vhdl_parser.grammar=vhdl_parsert::LANGUAGE;
4241

4342
vhdl_scanner_init();
@@ -270,10 +269,9 @@ bool vhdl_languaget::to_expr(
270269
std::istringstream i_preprocessed(code);
271270

272271
// parsing
273-
vhdl_parsert vhdl_parser;
272+
vhdl_parsert vhdl_parser(message_handler);
274273
vhdl_parser.set_file("");
275274
vhdl_parser.in=&i_preprocessed;
276-
vhdl_parser.log.set_message_handler(message_handler);
277275
vhdl_parser.grammar=vhdl_parsert::EXPRESSION;
278276
vhdl_scanner_init();
279277

0 commit comments

Comments
 (0)