brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 7f2a068 Raw
29 lines · c
1// RUN: %check_clang_tidy %s bugprone-random-generator-seed %t -- \2// RUN: -config="{CheckOptions: {bugprone-random-generator-seed.DisallowedSeedTypes: 'some_type,time_t'}}"3 4void srand(int seed);5typedef int time_t;6time_t time(time_t *t);7 8void f(void) {9  srand(1);10  // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: random number generator seeded with a constant value will generate a predictable sequence of values [bugprone-random-generator-seed]11 12  const int a = 1;13  srand(a);14  // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: random number generator seeded with a constant value will generate a predictable sequence of values [bugprone-random-generator-seed]15 16  time_t t;17  srand(time(&t)); // Disallowed seed type18  // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: random number generator seeded with a disallowed source of seed value will generate a predictable sequence of values [bugprone-random-generator-seed]19}20 21void g(void) {22  typedef int user_t;23  user_t a = 1;24  srand(a);25 26  int b = 1;27  srand(b); // Can not evaluate as int28}29