mirror of
https://github.com/intel/llvm.git
synced 2026-01-19 17:45:07 +08:00
Ran the sources through the compiler with -Wshadow warnings
enabled after we'd found a few bugs that were caused by shadowed
local variables; the most important issue this turned up was
a common mistake of trying to obtain a mutex lock for the scope
of a code block by doing
Mutex::Locker(m_map_mutex);
This doesn't assign the lock object to a local variable; it is
a temporary that has its dtor called immediately. Instead,
Mutex::Locker locker(m_map_mutex);
does what is intended. For some reason -Wshadow happened to
highlight these as shadowed variables.
I also fixed a few obivous and easy shadowed variable issues
across the code base but there are a couple dozen more that
should be fixed when someone has a free minute.
<rdar://problem/12437585>
llvm-svn: 165269
This commit is contained in:
@@ -151,9 +151,9 @@ OptionValuePathMappings::SetValueFromCString (const char *value, VarSetOperation
|
||||
{
|
||||
// Sort and then erase in reverse so indexes are always valid
|
||||
std::sort(remove_indexes.begin(), remove_indexes.end());
|
||||
for (int i=num_remove_indexes-1; i<num_remove_indexes; ++i)
|
||||
for (int j=num_remove_indexes-1; j<num_remove_indexes; ++j)
|
||||
{
|
||||
m_path_mappings.Remove (i, m_notify_changes);
|
||||
m_path_mappings.Remove (j, m_notify_changes);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user