// Message: (style:variableScope) The scope of the variable 'text' can be reduced.
// Reason: Don't error for being able to reduce scope of variables in tests
variableScope:tests/unit/*

// cppcheck Message: (information:ConfigurationNotChecked) Skipping configuration 'SO_RCVLOWAT' since the value of 'SO_RCVLOWAT' is unknown. Use -D if you want to check it. You can use -U to skip it explicitly.
// Reason: There are many Config options that aren't checked by Cppcheck, and it warns for each. Ignore these so that they don't clutter the output.
ConfigurationNotChecked:bin/s2nd.c
ConfigurationNotChecked:tls/s2n_x509_validator.c
ConfigurationNotChecked:utils/s2n_safety.c
ConfigurationNotChecked:utils/s2n_socket.c

// cppcheck Message: (information:ConfigurationNotChecked) Skipping configuration 'static_assert' since the value of 'static_assert' is unknown. Use -D if you want to check it. You can use -U to skip it explicitly.
// Reason: Same as above.
ConfigurationNotChecked:pq-crypto/bike_r1/bike_defs.h
ConfigurationNotChecked:pq-crypto/bike_r1/gf2x_mul.c
ConfigurationNotChecked:pq-crypto/bike_r1/sha.h
ConfigurationNotChecked:pq-crypto/bike_r1/aes_ctr_prf.c
ConfigurationNotChecked:pq-crypto/bike_r1/secure_decode_portable.c
ConfigurationNotChecked:pq-crypto/bike_r1/decode.c
ConfigurationNotChecked:pq-crypto/bike_r2/bike_defs.h
ConfigurationNotChecked:pq-crypto/bike_r2/gf2x_mul.c
ConfigurationNotChecked:pq-crypto/bike_r2/sha.h
ConfigurationNotChecked:pq-crypto/bike_r2/aes_ctr_prf.c
ConfigurationNotChecked:pq-crypto/bike_r2/secure_decode_portable.c
ConfigurationNotChecked:pq-crypto/bike_r2/decode.c
ConfigurationNotChecked:pq-crypto/bike_r2/bike_r2_kem.c

// cppcheck Message: (style:redundantAssignment) Variable 'mock_time' is reassigned a value before the old one has been used.
// Reason: s2n_config_set_monotonic_clock() takes a reference to mock_time so that whenever it's modified locally, the timer sees the update when it dereferences the pointer.
redundantAssignment:tests/unit/s2n_timer_test.c

// cppcheck Message: (error:shiftTooManyBits) Shifting 32-bit value by 64 bits is undefined behaviour.
// Reason: In the SIKE arithmetic macros, this is actually a 128-bit typedef being shifted by 64 bits.
shiftTooManyBits:pq-crypto/sike_r2/fp.c

// cppcheck Message (information:unmatchedSuppression) Unmatched suppression: shiftTooManyBits
// Reason: After applying the shiftTooManyBits suppression above, cppcheck complains (erroneously) that it is not necessary
unmatchedSuppression:pq-crypto/sike_r2/fp.c