mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-14 19:49:36 +00:00
184c6242fa
Summary: Replace calls to %clang/%clang_cc1 with %clang_analyze_cc1 when invoking static analyzer, and perform runtime substitution to select the appropriate constraint manager, per D28952. Reviewers: xazax.hun, NoQ, zaks.anna, dcoughlin Subscribers: mgorny, rgov, mikhail.ramalho, a.sidorin, cfe-commits Differential Revision: https://reviews.llvm.org/D30373 llvm-svn: 296895
35 lines
992 B
C
35 lines
992 B
C
// RUN: %clang_analyze_cc1 -triple i686-pc-linux-gnu -analyzer-checker=security.insecureAPI,security.FloatLoopCounter %s -verify
|
|
// expected-no-diagnostics
|
|
|
|
// This file complements 'security-syntax-checks.m', but tests that we omit
|
|
// specific checks on platforms where they don't make sense.
|
|
|
|
// Omit the 'rand' check since 'arc4random' is not available on Linux.
|
|
int rand(void);
|
|
double drand48(void);
|
|
double erand48(unsigned short[3]);
|
|
long jrand48(unsigned short[3]);
|
|
void lcong48(unsigned short[7]);
|
|
long lrand48(void);
|
|
long mrand48(void);
|
|
long nrand48(unsigned short[3]);
|
|
long random(void);
|
|
int rand_r(unsigned *);
|
|
|
|
void test_rand()
|
|
{
|
|
unsigned short a[7];
|
|
unsigned b;
|
|
|
|
rand(); // no-warning
|
|
drand48(); // no-warning
|
|
erand48(a); // no-warning
|
|
jrand48(a); // no-warning
|
|
lcong48(a); // no-warning
|
|
lrand48(); // no-warning
|
|
mrand48(); // no-warning
|
|
nrand48(a); // no-warning
|
|
rand_r(&b); // no-warning
|
|
random(); // no-warning
|
|
}
|