security-syntax-checks-no-emit.c revision 5188507b9a1b09ec95c14ffadf0e832f2b47aa8a
1// RUN: %clang_cc1 -triple i686-pc-linux-gnu -analyze -analyzer-checker=security.experimental.SecuritySyntactic %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