Jonas Jensen
b98daae077
C++: Remove deprecated from hasQualifiedName/1
...
The predicate is still deprecated, but we can't mark it as such until
the queries in our internal repo have migrated away from it.
2019-05-03 13:22:23 +02:00
Jonas Jensen
6d954fe53e
C++: Deprecate hasQualifiedName/1
...
This predicate handles templates differently from the other overloads
with the same name, so it's likely to cause confusion.
2019-05-03 10:37:48 +02:00
Jonas Jensen
5e789901df
C++: Remove all uses of hasQualifiedName/1
2019-05-03 10:37:48 +02:00
Jonas Jensen
64a87a863c
C++: Remove uses of getQualifiedName
...
This removes all uses of `Declaration.getQualifiedName` that I think can
be removed without changing any behaviour. The following uses in the
LGTM default suite remain:
* `cpp/ql/src/Security/CWE/CWE-121/UnterminatedVarargsCall.ql` (in `select`).
* `cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowDispatch.qll` (needs template args).
* `cpp/ql/src/semmle/code/cpp/security/FunctionWithWrappers.qll` (used for alert messages).
2019-05-03 10:37:48 +02:00
Jonas Jensen
0a2e28858a
C++: Rework how qualified names are computed
2019-05-03 10:37:48 +02:00
Jonas Jensen
b51ce87ae8
C++: Autoformat QualifiedName.qll
2019-05-03 10:37:47 +02:00
Jonas Jensen
b97ff1a72f
C++: Take QualifiedName.qll from Ian's branch
...
This imports `QualifiedName.qll` from
2f74a456290b9e0850b7308582e07f5d68de3a36 and makes minimal changes so it
compiles.
Original author: Ian Lynagh <ian@semmle.com >
2019-05-03 10:37:12 +02:00
Jonas Jensen
93658038bc
C++: Use a smaller double literal in test
...
This number got rounded differently on Linux and Windows, causing the
Windows test to fail.
2019-05-03 09:06:10 +02:00
Tom Hvitved
b6206d7370
Data flow: Introduce ReturnKind
2019-05-02 20:30:50 +02:00
Dave Bartolomeo
7071692373
C++: Clarify comment based on PR feedback
2019-05-02 11:18:10 -07:00
Dave Bartolomeo
34a422c756
C++: Accept test output after value category extractor fix
2019-05-02 11:18:10 -07:00
Dave Bartolomeo
ad966e4bd4
C++: Accept test diffs after imprecise use format change
2019-05-02 11:18:09 -07:00
Dave Bartolomeo
fef58ec1ee
C++: Add "~" prefix to inexact uses
2019-05-02 11:18:09 -07:00
Dave Bartolomeo
ff12ed145e
C++: Update test expectations after StmtExpr changes
2019-05-02 11:18:09 -07:00
Dave Bartolomeo
95a62beb7a
C++: Update test expectations due to better dataflow analysis
2019-05-02 11:18:09 -07:00
Dave Bartolomeo
5dcd314908
C++: Update to conform to new API naming
2019-05-02 11:18:09 -07:00
Dave Bartolomeo
65535449d6
C++: Fix merge conflicts
2019-05-02 11:18:09 -07:00
Dave Bartolomeo
0cde86d3c1
C++: Fix PR feedback
2019-05-02 11:18:09 -07:00
Dave Bartolomeo
9869fd32d0
C++: Add implementation documentation for SSA
2019-05-02 11:18:08 -07:00
Dave Bartolomeo
e0f7344676
C++: Imprecise definitions in SSA
2019-05-02 11:18:08 -07:00
Dave Bartolomeo
9726428bcc
C++: More SSA test cases
2019-05-02 11:18:08 -07:00
Dave Bartolomeo
eed0894029
C++: Add operand labels for more operand tags
...
I kept forgetting which operand on a Chi instruction was which, so I added dump labels. I added labels for the function target of a `Call`, for positional arguments, and for address operands as well.
2019-05-02 11:18:08 -07:00
Dave Bartolomeo
a7f3160684
C++: New SSA tests
2019-05-02 11:18:08 -07:00
Jonas Jensen
e68dda8ce8
Merge pull request #1299 from felicity-semmle/cpp-qldoc/fix-typo
...
Fix typo in C/C++ QL library docs
2019-05-02 17:10:25 +02:00
Felicity Chapman
46177dd378
Fix typo in C/C++ QL library docs
2019-05-02 13:36:39 +01:00
Nick Rolfe
50c901d6d9
C++: remove pointless predicate
2019-05-02 11:16:21 +01:00
Nick Rolfe
8da2f0b8dc
C++: clarify folds only appear in uninstantiated templates
2019-05-02 11:16:21 +01:00
Nick Rolfe
4e39862dd5
C++: update stats for @foldexpr
2019-05-02 11:16:21 +01:00
Nick Rolfe
74f81c7f46
C++: test for fold expressions
2019-05-02 11:16:21 +01:00
Nick Rolfe
4352a20be0
C++: add support for C++17 fold expressions
2019-05-02 11:16:21 +01:00
Jonas Jensen
3905cf70f4
Merge pull request #1255 from geoffw0/wrongtypeformatmore
...
CPP: WrongTypeFormatArguments.ql Improvements
2019-05-02 09:17:21 +02:00
Jonas Jensen
dcbf70f616
Merge pull request #1279 from geoffw0/large-parameter
...
CPP: Tests and changes for LargeParameter.ql
2019-05-02 09:15:57 +02:00
Geoffrey White
d2f386ccb7
CPP: Effect of changes on tests.
2019-05-01 15:56:44 +01:00
Geoffrey White
19e6b238b7
CPP: Add test cases.
2019-05-01 15:43:06 +01:00
Geoffrey White
a5b9df204b
CPP: Autoformat.
2019-05-01 13:59:28 +01:00
Jonas Jensen
9d15e67f3c
C++: Use variableAccessedAsValue in LargeParameter
...
Using `variableAccessedAsValue` fixes a FP because we can now
distinguish modifications to the parameter from modifications to data
_reachable from_ the parameter.
2019-05-01 13:58:55 +01:00
Geoffrey White
60494fd6d5
CPP: Subtle test case.
2019-05-01 13:17:11 +01:00
Geoffrey White
2ef3cc30c0
CPP: Fix for functions with no definition.
2019-05-01 13:17:11 +01:00
Geoffrey White
6f2274aa5e
CPP: Another test case.
2019-05-01 13:17:10 +01:00
Geoffrey White
32b6e9bd3c
CPP: Exclude cases where the parameter is written to.
2019-05-01 13:17:10 +01:00
Geoffrey White
54c766c622
CPP: Add more test cases for LargeParameter.ql.
2019-05-01 13:17:10 +01:00
Geoffrey White
88a0e60a2a
CPP: Un-autoformat to ease merge.
2019-05-01 13:16:46 +01:00
Jonas Jensen
490dd0e8c0
Merge pull request #1245 from geoffw0/classesmanyfields
...
CPP: Fix performance issues in ClassesWithManyFields.ql
2019-05-01 13:58:28 +02:00
Geoffrey White
d4e1bae5d5
Merge pull request #1173 from jbj/alloca-enable
...
C++: Enable cpp/alloca-in-loop on LGTM
2019-05-01 12:48:59 +01:00
Geoffrey White
1ee28fa15b
CPP: Add a test cases that uses restrict.
2019-05-01 11:12:07 +01:00
Geoffrey White
a749b5b6d1
CPP: Improve WrongTypeFormatArguments logic when there is more than one possible expected argument type.
2019-05-01 11:12:06 +01:00
Geoffrey White
ac277ad7ad
CPP: Fix %I length specifier.
2019-05-01 11:12:06 +01:00
Geoffrey White
98c3e1475e
CPP: Add test cases of %I64 and similar.
2019-05-01 11:12:06 +01:00
Geoffrey White
3a0dfbd00f
CPP: Normalize test cases between some of the WrongTypeFormatArguments tests.
2019-05-01 11:12:06 +01:00
Geoffrey White
efa3c77db5
CPP: Additional test cases.
2019-05-01 10:58:03 +01:00