Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions change_notes/2025-02-17-iofstream-performance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `A27-0-3`, `FIO309-C` `FIO50-CPP`, `RULE-30-0-2` - `InterleavedInputOutputWithoutFlush.ql`, `DoNotAlternatelyIOFromStreamWithoutPositioning.ql`,`InterleavedInputOutputWithoutPosition.ql`, `ReadsAndWritesOnStreamNotSeparatedByPositioning.ql`:
- Reduce evaluation time on complex codebases.
Original file line number Diff line number Diff line change
Expand Up @@ -57,17 +57,19 @@ predicate sameSource(FunctionCall a, FunctionCall b) {
sameFileSource(a, b)
}

bindingset[a, b]
predicate sameAccessDirection(ReadWriteCall a, ReadWriteCall b) {
a.getAccessDirection() = b.getAccessDirection()
}

bindingset[a, b]
predicate oppositeAccessDirection(ReadWriteCall a, ReadWriteCall b) {
not sameAccessDirection(a, b)
}

/**
* A write operation reaching a read and vice versa
* without intervening filepositioning
* without intervening file positioning calls.
*/
ControlFlowNode reachesInExOperator(ReadWriteCall op) {
result = op
Expand Down
Loading