File: main.cpp

package info (click to toggle)
cbmc 5.12-5
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 92,512 kB
  • sloc: cpp: 301,761; ansic: 51,699; java: 27,534; python: 5,113; yacc: 4,756; makefile: 3,184; lex: 2,749; sh: 1,347; perl: 555; xml: 404; pascal: 203; ada: 36
file content (33 lines) | stat: -rw-r--r-- 373 bytes parent folder | download | duplicates (2)
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);
}