File: cast2.c

package info (click to toggle)
lclint 1%3A2.4b-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 7,996 kB
  • ctags: 9,589
  • sloc: ansic: 100,034; lex: 2,754; yacc: 2,472; makefile: 835
file content (26 lines) | stat: -rw-r--r-- 464 bytes parent folder | download | duplicates (10)
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
typedef /*@abstract@*/ int *abst1;
typedef /*@abstract@*/ int abst2;

/*@access abst1@*/
/*@access abst2@*/

abst1 f1 (int *x)
{
  return x; /* 1. Function returns reference to parameter x,
	       2. Implicitly temp storage x returned as implicitly only: x */
}

abst1 f2 (/*@exposed@*/ int *x)
{
  return (abst1) x; /* 3. Implicitly dependent storage x returned as implicitly only */
}

abst2 g1 (int x)
{
  return x;
}

abst2 g2 (int x)
{
  return (abst2) x;
}