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