C++: Move Expr location workaround to Expr.qll#3204
Conversation
This workaround from `DataFlowUtil.qll` should be useful for any query that selects an `Expr`. In particular, it's useful for IR data flow. This commit does not include test changes.
|
All the test changes in Language-Tests/CPP LGTM, and I think they just need to be accepted. Because this PR conflicts with Absolutely Everything and will need a synced submodule update, I'm going to wait until a less busy time before proposing it for merge. |
|
I'd like to get #3389 merged first, and then I can remove the |
geoffw0
left a comment
There was a problem hiding this comment.
QL changes LGTM.
Because this PR conflicts with Absolutely Everything
I assume the conflicts will be limited to tests, and perhaps mostly IR/dataflow tests, so not quite as bad as you describe here?
I think this will include tests in the internal repo, so there will also be potential conflicts on the submodule pointer. |
…karound Conflicts and semantic conflicts in `library-tests/dataflow/fields` and `library-tests/ir/ir`.
…karound Conflicts: cpp/ql/test/library-tests/dataflow/fields/dataflow-ir-consistency.expected
|
I thought I'd picked a quiet time to get these conflict-prone changes merged, but apparently it was just the opposite. I can't complain about that. The CPP-Differences results from yesterday should still be valid. Performance is unchanged, and there are two new results on a hidden-by-default query. Those results must have been there the whole time, just hidden because locations were missing. |
This workaround from
DataFlowUtil.qll(#1781) should be useful for any query that selects anExpr. In particular, it's useful for IR data flow.Internal PR: https://git.semmle.com/Semmle/code/pull/37020
To do: