File: main.cpp

package info (click to toggle)
cbmc 4.9-4
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 40,588 kB
  • ctags: 19,198
  • sloc: cpp: 185,860; ansic: 16,162; yacc: 5,343; lex: 4,518; makefile: 954; pascal: 506; sh: 318; perl: 213; java: 206
file content (33 lines) | stat: -rw-r--r-- 370 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
struct Char {
	char c;
	Char(char c):c(c){}
};

struct Int {
	int i;
	operator int& ();
	Int(int i):i(i){}
};

Int::operator int&(){return i;}

int  main()
{
   Int I1(1);
   int i1 = int(I1);
   assert(i1==1);

   
   Int I2(2);
   int i2 = (int&)I2;
   assert(i2==2);


   Int I3(3);
   int i3 =0;
   i3  = I3;
   assert(i3==3);

   Char C3(I3);
   assert(C3.c==3);
}