Commit Graph

2833 Commits

Author SHA1 Message Date
Geoffrey White
da6fa7adfc Update cpp/ql/src/semmle/code/cpp/Type.qll
Co-Authored-By: Jonas Jensen <jbj@github.com>
2019-11-13 15:52:49 +00:00
Geoffrey White
4c6fd004e6 Update cpp/ql/src/semmle/code/cpp/Type.qll
Co-Authored-By: Jonas Jensen <jbj@github.com>
2019-11-13 15:52:15 +00:00
Jonas Jensen
4ddac749af C++: Add change note
Also fix discrepancies between `SignedOverflowCheck.ql` and its change
note.
2019-11-13 14:43:30 +01:00
Jonas Jensen
2d72a9cdec C++: Rename query
This new name is similar to its sister query "Signed overflow check".
2019-11-13 14:40:27 +01:00
Jonas Jensen
1b849dbf0e C++: More principled macro exclusion
We no longer exclude macros based on their name, which means we can now
find results inside arguments to the `likely` macro in Linux (except
that Linux is compiled with `-fno-strict-overflow`).
2019-11-13 14:22:38 +01:00
Jonas Jensen
db33053422 C++: Add test for macro exclusions 2019-11-13 14:21:29 +01:00
Jonas Jensen
8d79634f8c C++: Factor out isFromMacroDefinition predicate
This trick for excluding elements from macro bodies but not macro
arguments looks promising and should probably be used much more. With
this commit, it's now easy to use from any query.

Performance is still good because the new predicate gets appropriately
magiced.
2019-11-13 14:07:33 +01:00
Jonas Jensen
d2009c53dc C++: Support GCC flags making ptr overflow defined 2019-11-13 14:07:33 +01:00
Jonas Jensen
463bf964a9 C++: Test showing FP with -fno-strict-overflow 2019-11-13 14:07:33 +01:00
Jonas Jensen
8ed991759c C++: Rename PointerWrapAround to PointerOverflow
Overflow was the terminology I found for this in the C standard (C11
6.5.6-8).
2019-11-13 14:06:58 +01:00
Jonas Jensen
bd08c64933 C++: Apply my own review comments from #2218 2019-11-13 14:05:23 +01:00
Geoffrey White
abcf9e0d78 CPP: Autoformat. 2019-11-13 12:35:26 +00:00
Geoffrey White
86bea78413 CPP: Fix bad merge. 2019-11-13 12:34:35 +00:00
Geoffrey White
93b4985532 CPP: Backticks. 2019-11-13 10:42:28 +00:00
Geoffrey White
a5d2fbd25d CPP: Resolve remaining comments from the original PR. 2019-11-13 09:46:09 +00:00
Jonas Jensen
8a9ee8fcdd Merge pull request #2300 from geoffw0/names
CPP: Rename/relocate some queries and libraries
2019-11-13 09:11:24 +01:00
Robert Marsh
3de590763e C++: autoformat 2019-11-12 13:57:49 -08:00
Dave Bartolomeo
5b33255e44 Merge pull request #1585 from rdmarsh2/rdmarsh/cpp/hasGlobalOrStdName
C++: add Declaration.hasGlobalOrStdName()
2019-11-12 12:00:17 -07:00
Robert Marsh
47f87c214c Merge branch 'master' into rdmarsh/cpp/ir-constructor-side-effects 2019-11-12 10:31:04 -08:00
Geoffrey White
db26b85fa3 CPP: Fix test (I missed a file in the move). 2019-11-12 18:25:20 +00:00
Robert Marsh
9554513cd6 autoformat 2019-11-12 10:16:01 -08:00
Ziemowit Laski
5cc92b7502 [CPP-418] Mention that GNU vector initializers are syntactically
similar to array initializers.
2019-11-12 17:35:50 +00:00
Ziemowit Laski
d0069fcacd [CPP-418] Literals. 2019-11-12 17:35:50 +00:00
Ziemowit Laski
20e28b8a97 [CPP-418] Reformat. 2019-11-12 17:35:50 +00:00
Ziemowit Laski
2baa748390 Address further review comments. 2019-11-12 17:35:50 +00:00
Ziemowit Laski
faf4342d8e [CPP-418] Update references to BuiltInOperationBuiltInOffsetOf and __builtin_offsetof. 2019-11-12 17:35:50 +00:00
Ziemowit Laski
6eac51dba4 [CPP-418] Address review comments. 2019-11-12 17:35:49 +00:00
Ziemowit Laski
e2d5a82735 [CPP-418] Expressions. 2019-11-12 17:35:49 +00:00
Ziemowit Laski
1f337e943f [CPP-418] Typo. 2019-11-12 17:33:08 +00:00
Ziemowit Laski
98eca4743a [CPP-418] Calls, casts, assignments and other goodness. 2019-11-12 17:33:08 +00:00
Ziemowit Laski
e647dc341a [CPP-418] Fill in examples for ErroneousType, UnknownType, and
assorted complex/imaginary arithmetic operations.
2019-11-12 17:33:08 +00:00
Ziemowit Laski
09f538a4bf [CPP-418] Merge detritus. 2019-11-12 17:33:08 +00:00
Ziemowit Laski
f255977027 [CPP-418] Some more complex numbers, vectors. 2019-11-12 17:33:08 +00:00
Ziemowit Laski
89655612b0 [CPP-418] Tweak vector initializer syntax. 2019-11-12 17:33:08 +00:00
Ziemowit Laski
ecb700c8f4 [CPP-418] Some assignments and call expressions. Some could not be divined. 2019-11-12 17:33:08 +00:00
Ziemowit Laski
113481d096 [CPP-418] Add concrete syntax for arithmetic operation, EXCEPT for assorted complex number operations, where surface syntax could not be determined. 2019-11-12 17:33:08 +00:00
Ziemowit Laski
e328e781b5 [CPP-418] Address @geoffw0's review comments. 2019-11-12 17:33:07 +00:00
Ziemowit Laski
3fdf84ddb4 [CPP-418] Logical and comparison operators; reformat built-ins. 2019-11-12 17:33:07 +00:00
Ziemowit Laski
b0a93481cb [CPP-418] Add QLDoc entries for typedef types, user types, bitwise operations and built-in operations. 2019-11-12 17:33:07 +00:00
Ziemowit Laski
1f35f4bb52 [CPP-418] Add descriptions for QL classes in Type.qll. (Still need to figure out how to describe unknown and erroneous types.) 2019-11-12 16:47:29 +00:00
Ziemowit Laski
f54e0d0d07 [CPP-418] Initial modifications to Type.qll. To be continued. 2019-11-12 16:47:29 +00:00
Geoffrey White
ea9e3bb1a8 CPP: Rename VirtualDispatch again. 2019-11-12 16:17:03 +00:00
Max Schaefer
5b2e32b051 Add qlpack.yml files for test folders. 2019-11-12 15:03:02 +00:00
Geoffrey White
5c87ed5ab2 CPP: Remove unused code. 2019-11-12 14:45:43 +00:00
Geoffrey White
0343bd6b9c CPP: Inline BufferAccess into NtohlArrayNoBound.qll (we'd prefer other queries to be written with the models library or Security.BufferAccess). 2019-11-12 14:44:20 +00:00
Geoffrey White
f50dd84c49 CPP: Rename good and bad example files. 2019-11-12 14:09:54 +00:00
Geoffrey White
d198b56b3a CPP: Move VirtualDispatch.qll into the controlflow directory (I don't see the point in having a subdirectory for one file, when we don't anticipate any other files ever being added there). 2019-11-12 09:55:23 +00:00
Geoffrey White
60c7cb38e8 CPP: Relocate the test as well. 2019-11-12 09:55:22 +00:00
Geoffrey White
dff490e658 CPP: Remove the 'boostorg' subdirectory (these queries could be extended to support other libraries, as their names and descriptions already suggest). 2019-11-12 09:55:22 +00:00
Geoffrey White
784c3047da CPP: Merge the duplicate IgnoreReturnValueSAL.ql query into the older existing one. 2019-11-12 09:54:56 +00:00