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