]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Analysis/security-syntax-checks-no-emit.c
Update clang to r96341.
[FreeBSD/FreeBSD.git] / test / Analysis / security-syntax-checks-no-emit.c
1 // RUN: %clang_cc1 -triple i686-pc-linux-gnu -analyze -analyzer-check-security-syntactic %s -verify
2
3 // This file complements 'security-syntax-checks.m', but tests that we omit
4 // specific checks on platforms where they don't make sense.
5
6 // Omit the 'rand' check since 'arc4random' is not available on Linux.
7 int      rand(void);
8 double   drand48(void);
9 double   erand48(unsigned short[3]);
10 long     jrand48(unsigned short[3]);
11 void     lcong48(unsigned short[7]);
12 long     lrand48(void);
13 long     mrand48(void);
14 long     nrand48(unsigned short[3]);
15 long     random(void);
16 int      rand_r(unsigned *);
17
18 void test_rand()
19 {
20   unsigned short a[7];
21   unsigned b;
22   
23   rand();       // no-warning
24   drand48();    // no-warning
25   erand48(a);   // no-warning
26   jrand48(a);   // no-warning
27   lcong48(a);   // no-warning
28   lrand48();    // no-warning
29   mrand48();    // no-warning
30   nrand48(a);   // no-warning
31   rand_r(&b);   // no-warning
32   random();     // no-warning
33 }