File: main.cpp

package info (click to toggle)
cbmc 5.10-5
  • links: PTS
  • area: main
  • in suites: buster
  • size: 73,416 kB
  • sloc: cpp: 264,330; ansic: 38,268; java: 19,025; python: 4,539; yacc: 4,275; makefile: 2,547; lex: 2,394; sh: 932; perl: 525; xml: 289; pascal: 169
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);
}