security-syntax-checks-no-emit.c revision 88c8bc83808588fdb97924144ca9fb5f27dfc9a6
1// RUN: %clang_cc1 -triple i686-pc-linux-gnu -analyze -warn-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. 7int rand(void); 8double drand48(void); 9double erand48(unsigned short[3]); 10long jrand48(unsigned short[3]); 11void lcong48(unsigned short[7]); 12long lrand48(void); 13long mrand48(void); 14long nrand48(unsigned short[3]); 15long random(void); 16int rand_r(unsigned *); 17 18void 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} 34