Mathias Vorreiter Pedersen
90c027f291
Merge pull request #4532 from geoffw0/wrongtypeformaterr
...
C++: Harden queries against ErroneousType
2020-10-22 14:21:14 +02:00
Geoffrey White
ceea947f5e
C++: Add another test case.
2020-10-22 12:41:23 +01:00
Mathias Vorreiter Pedersen
d0dd71ba10
Apply suggestions from code review
...
Co-authored-by: hubwriter <54933897+hubwriter@users.noreply.github.com >
2020-10-22 12:53:35 +02:00
Geoffrey White
3cca8443f8
C++: Add memcpy(vector test.
2020-10-22 09:46:07 +01:00
Geoffrey White
227bf91626
C++: Correct test annotation.
2020-10-22 09:45:09 +01:00
Dave Bartolomeo
f7eeadadd9
Accept more diffs
2020-10-21 18:37:49 -04:00
Dave Bartolomeo
1de1ab65b7
Merge remote-tracking branch 'upstream/main' into work
2020-10-21 18:22:55 -04:00
Dave Bartolomeo
5259f86e32
Accept diff (needs further investigation, though)
2020-10-21 18:06:34 -04:00
Cornelius Riemenschneider
9388448053
C++: Extend jump-to-def support to template instantiations.
...
This commit extends developers ability to use jump-to-def in C/C++ files opened in the VSCode extension.
Before, jump-to-def starting with code in a template instantiation did not work.
Furthermore, this fixes a bug, as the list of all references of a location did not include template instantiations.
2020-10-21 21:35:38 +02:00
Dave Bartolomeo
ee18db7b36
Fix IR for member accesses on prvalues
...
This fixes the IR generation for member accesses where the qualifier is a prvalue that is _not_ the load of a `TemporaryObjectExpr`. We synthesize a temporary variable during IR generation instead. It fits into the IR construction code at the same spot as `TranslatedLoad`, since it's basically the opposite of `TranslatedLoad` (prvalue->glvalue instead of vice versa). Note that array prvalues require special treatment.
This fixes some consistency errors in the `syntax-zoo`. It introduces three new ones in `dataflow-ir-consistency.expected`, but those are along the same lines as tons of existing failures.
2020-10-21 13:32:15 -04:00
Mathias Vorreiter Pedersen
056a553976
C++: Fix broken qhelp links
2020-10-21 17:26:46 +02:00
Geoffrey White
678e769553
C++: Change note.
2020-10-21 14:52:43 +01:00
Geoffrey White
d97f03c2be
C++: Exclude error types from NonPortablePrintf.
2020-10-21 14:51:52 +01:00
Jonas Jensen
2479402a9d
Merge pull request #4522 from geoffw0/odasa704
...
C++: Non-constant format string test case
2020-10-21 14:58:02 +02:00
Jonas Jensen
6a80f3380e
Merge pull request #4527 from geoffw0/odasa3940
...
C++: Improve SizeCheck queries
2020-10-21 14:55:57 +02:00
Geoffrey White
ac1e0692bb
C++: Exclude error types from WrongTypeFormatArguments.
2020-10-21 13:25:57 +01:00
Geoffrey White
ba29591b83
C++: Change note.
2020-10-21 11:21:53 +01:00
Geoffrey White
6d91d55669
C++: Use the AllocationExpr model.
2020-10-21 11:00:15 +01:00
Robert Marsh
413c845e97
Merge branch 'main' into rdmarsh2/cpp/output-iterators-2
...
Accept test changes for unnamed elements
2020-10-20 15:22:08 -07:00
Dave Bartolomeo
98e0ae4865
Add tests for member accesses on temporary objects
2020-10-20 17:35:12 -04:00
Dave Bartolomeo
08af0803ff
Add examples to QLDoc comment
2020-10-20 17:34:46 -04:00
Dave Bartolomeo
8c8daa38ec
Update stats
2020-10-20 13:41:52 -04:00
Dave Bartolomeo
4ba281731c
Fix IR generation for member access with a prvalue on the RHS
...
For historical reasons, the extractor marks the temporary object expression used as the qualifier of a member access as a prvalue(load), even though the current C++ standard says that the temporary object materialization results in a glvalue. Added some special handling to ignore the load for both field accesses and member function calls.
This fixes all of the consistency failures in our regular tests, and all of the related failures in `syntax-zoo` other than the ones that deal with pointers-to-member, which aren't really supported yet anyway.
2020-10-20 12:53:47 -04:00
Geoffrey White
17ff34267a
C++: Resolve the overlap.
2020-10-20 17:47:49 +01:00
Geoffrey White
7db2b2ce37
C++: Make the two queries more alike.
2020-10-20 17:46:47 +01:00
Geoffrey White
4630c69950
C++: Add a test case resembling the example from ODASA-3940.
2020-10-20 17:39:32 +01:00
Geoffrey White
857a4d8a3f
C++: Merge the two tests, so that overlaps are obvious.
2020-10-20 17:33:15 +01:00
Geoffrey White
a372578571
C++: Move the SizeCheck*.ql tests to the standard location.
2020-10-20 16:02:54 +01:00
Geoffrey White
8198b96eb2
C++: Add test cases.
2020-10-20 15:33:57 +01:00
Dave Bartolomeo
735c657326
IR consistency checks for FieldAddress and this arguments that are not actually addresses.
...
Exposes failures in existing tests. Also added a small test case for `FieldAddress` on a prvalue.
2020-10-20 10:32:28 -04:00
Geoffrey White
540af7866c
C++: Test spacing.
2020-10-20 15:23:15 +01:00
Geoffrey White
cbf55ce51a
Merge branch 'main' into intmultlong
2020-10-20 14:55:53 +01:00
Dave Bartolomeo
7de6415d00
Accept test diffs after merge
2020-10-20 07:40:44 -04:00
Dave Bartolomeo
ade6d10e58
Merge remote-tracking branch 'upstream/main' into work
2020-10-20 07:24:42 -04:00
Mathias Vorreiter Pedersen
528afc55ab
Merge pull request #3788 from geoffw0/callderef
...
C++: Add bcopy to models and use it.
2020-10-20 12:15:23 +02:00
Geoffrey White
f9987cff64
C++: Update QLDoc comment.
2020-10-20 09:36:33 +01:00
Dave Bartolomeo
2eaa4a4ecf
Merge remote-tracking branch 'upstream/main' into work
2020-10-19 15:19:03 -04:00
Dave Bartolomeo
3587235b4f
Merge pull request #4471 from github/igfoo/unnamed
...
C++: Be more consistent about unnamed entities
2020-10-19 15:18:34 -04:00
Dave Bartolomeo
d0b93df4ec
Merge from main
2020-10-19 15:17:19 -04:00
Ian Lynagh
987c16ed53
Merge remote-tracking branch 'upstream/main' into igfoo/unnamed
2020-10-19 19:09:41 +01:00
Geoffrey White
a426412b4e
Merge pull request #4497 from vadi2/patch-1
...
Add modern C++ variant
2020-10-19 19:09:23 +01:00
Geoffrey White
b68f98b332
C++: More use of [, ].
2020-10-19 19:05:29 +01:00
Geoffrey White
658dbf45d2
C++: getParameter(_) is considered an anti-pattern.
2020-10-19 18:42:33 +01:00
Robert Marsh
5d9f54e797
Merge pull request #4502 from dbartol/dbartol/PrintLoadStoreTargets
...
C++: Print target variable name for `Load` and `Store`, if known
2020-10-19 13:30:39 -04:00
Geoffrey White
ddc5150080
C++: Create a module for models of things in Std.
2020-10-19 18:27:20 +01:00
Geoffrey White
3fad597bbf
C++: Make function models private (except ones we anticipate users accessing).
2020-10-19 18:25:23 +01:00
Robert Marsh
aad6d43423
C++: autoformat
2020-10-19 10:12:16 -07:00
Geoffrey White
8646d5c811
C++: Fix test failure (we no longer have taint flow from the size parameter).
2020-10-19 17:37:11 +01:00
Geoffrey White
541a449bc4
Merge branch 'main' into callderef
2020-10-19 17:15:33 +01:00
Vadim Peretokin
aa578ed334
Update cpp/ql/src/Likely Bugs/Arithmetic/IntMultToLong.cpp
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2020-10-19 16:58:17 +02:00