1 // RUN: %clang_cc1 -triple i686-pc-linux-gnu -analyze -analyzer-checker=security.insecureAPI,security.FloatLoopCounter %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 } 34