if (!(ctx.config.sloppiness().contains(core::Sloppy::locale))) {
// Hash environment variables that may affect localization of compiler
// warning messages.
- const char* envvars[] = {
- "LANG", "LC_ALL", "LC_CTYPE", "LC_MESSAGES", nullptr};
- for (const char** p = envvars; *p; ++p) {
- const char* v = getenv(*p);
+ std::array envvars = {"LANG", "LC_ALL", "LC_CTYPE", "LC_MESSAGES"};
+ for (const char* name : envvars) {
+ const char* v = getenv(name);
if (v) {
- hash.hash_delimiter(*p);
+ hash.hash_delimiter(name);
hash.hash(v);
}
}
get_manifest_key(Context& ctx, Hash& hash)
{
// Hash environment variables that affect the preprocessor output.
- const char* envvars[] = {
+ std::array envvars = {
"CPATH",
"C_INCLUDE_PATH",
"CPLUS_INCLUDE_PATH",
"CLANG_CONFIG_FILE_USER_DIR", // Clang
"INCLUDE", // MSVC
"EXTERNAL_INCLUDE", // MSVC
- nullptr,
};
- for (const char** p = envvars; *p; ++p) {
- const char* v = getenv(*p);
+ for (const char* name : envvars) {
+ const char* v = getenv(name);
if (v) {
- hash.hash_delimiter(*p);
+ hash.hash_delimiter(name);
hash.hash(v);
}
}