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. 8int rand(void); 9double drand48(void); 10double erand48(unsigned short[3]); 11long jrand48(unsigned short[3]); 12void lcong48(unsigned short[7]); 13long lrand48(void); 14long mrand48(void); 15long nrand48(unsigned short[3]); 16long random(void); 17int rand_r(unsigned *); 18 19void 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