Skip to content

Commit d351125

Browse files
committed
Failing regression test from #661
1 parent f165ca9 commit d351125

File tree

2 files changed

+58
-0
lines changed

2 files changed

+58
-0
lines changed

regression/cbmc/cpp1/main.cpp

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#include <cassert>
2+
3+
template <class T>
4+
class sc_signal
5+
{
6+
public:
7+
T data;
8+
sc_signal(){}
9+
sc_signal(const char *p) {}
10+
T read() {return data;}
11+
void write(const T &d) {data = d;}
12+
};
13+
14+
15+
struct rbm
16+
{
17+
18+
sc_signal<unsigned int> data_out; //<L1>
19+
20+
sc_signal<bool> done; // <L2>
21+
22+
sc_signal<bool> conf_done;
23+
24+
void config();
25+
26+
rbm()
27+
{
28+
29+
}
30+
31+
};
32+
33+
34+
void rbm::config()
35+
{
36+
do {
37+
conf_done.write(true);
38+
assert(conf_done.data==true);
39+
} while ( !conf_done.read() );
40+
}
41+
42+
int main()
43+
{
44+
rbm IMPL;
45+
IMPL.config();
46+
47+
return 0;
48+
}

regression/cbmc/cpp1/test.desc

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
KNOWNBUG
2+
main.cpp
3+
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
^VERIFICATION SUCCESSFUL$
7+
--
8+
^warning: ignoring
9+
--
10+
This has been reported as #661.

0 commit comments

Comments
 (0)