[clang] [NFC][Clang] Use range for loops in ClangDiagnosticsEmitter (PR #115573)
Rahul Joshi via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 12 07:23:47 PST 2024
================
@@ -185,10 +174,8 @@ static void groupDiagnostics(ArrayRef<const Record *> Diags,
}
// Assign unique ID numbers to the groups.
- unsigned IDNo = 0;
- for (std::map<std::string, GroupInfo>::iterator
- I = DiagsInGroup.begin(), E = DiagsInGroup.end(); I != E; ++I, ++IDNo)
- I->second.IDNo = IDNo;
+ for (auto [IdNo, Iter] : enumerate(DiagsInGroup))
+ Iter.second.IDNo = IdNo;
----------------
jurahul wrote:
Right, this updates the original and not the copy. See the comment at the top of enumerate() which says the same:
https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/ADT/STLExtras.h#L2411
```
/// Given two or more input ranges, returns a new range whose values are
/// tuples (A, B, C, ...), such that A is the 0-based index of the item in the
/// sequence, and B, C, ..., are the values from the original input ranges. All
/// input ranges are required to have equal lengths. Note that the returned
/// iterator allows for the values (B, C, ...) to be modified.
```
https://github.com/llvm/llvm-project/pull/115573
More information about the cfe-commits
mailing list