Mathias Vorreiter Pedersen
20dfbdc5cc
Revert "Merge pull request #18057 from jketema/codeql-cli-2.19.4"
...
This reverts commit ed922f6519 , reversing
changes made to aa4cc72f30 .
2024-12-16 14:02:38 +00:00
Jeroen Ketema
fa8aba88af
Revert "Merge pull request #17938 from MathiasVP/fix-fp-in-missing-check-scanf-fixing-take-2"
...
This reverts commit 6785b93ed8 , reversing
changes made to d9b86f55c8 .
2024-11-21 15:39:00 +01:00
Mathias Vorreiter Pedersen
bb85aa2fc9
C++: Accept test changes.
2024-11-14 16:29:51 +00:00
Mathias Vorreiter Pedersen
9e088f3e4a
C++: Accept test changes.
2024-06-10 12:53:06 +01:00
Mathias Vorreiter Pedersen
d76700497b
C++: Add testcases using the builtin expect operation.
2024-06-10 12:47:45 +01:00
Mathias Vorreiter Pedersen
9564ae1ca4
C++: Accept more test changes.
2024-06-06 17:04:48 +01:00
Mathias Vorreiter Pedersen
528afba919
C++: Accept test changes.
2024-06-06 16:32:29 +01:00
Mathias Vorreiter Pedersen
0298755975
C++: Add a test.
2024-06-06 16:22:23 +01:00
Mathias Vorreiter Pedersen
5893e38567
C++: Accept test changes.
2024-05-20 22:28:17 +01:00
Mathias Vorreiter Pedersen
c32c810ae7
C++: Add a test with a 'short' type.
2024-04-30 14:48:21 +01:00
Mathias Vorreiter Pedersen
2939c89f7a
C++: Accept test changes.
2024-04-30 12:04:42 +01:00
Mathias Vorreiter Pedersen
806d42852c
C++: Add test in C file with pointer type guard.
2024-04-30 11:33:22 +01:00
Mathias Vorreiter Pedersen
d18cdee0bc
C++: Accept test changes.
2024-04-26 16:19:33 +01:00
Mathias Vorreiter Pedersen
bf61114284
C++: Add a test with pointer comparisons and float comparisons.
2024-04-26 16:17:45 +01:00
Mathias Vorreiter Pedersen
d6c57de650
C++: Convert one of the tests to also test the 'absolute' versions of the GuardCondition predicates.
2024-04-26 16:11:19 +01:00
Mathias Vorreiter Pedersen
97aa301ac9
C++: Accept more test changes.
2024-03-19 17:33:23 +00:00
Mathias Vorreiter Pedersen
1411ee5b26
C++: Extend tests to also test the new predicates and accept test changes.
2024-03-19 17:09:22 +00:00
Mathias Vorreiter Pedersen
c640bd67e9
C++: Fix tests for guards.
2024-03-19 14:43:16 +00:00
Mathias Vorreiter Pedersen
d7afd7b2e1
C++: Accept test changes.
2024-03-19 10:54:35 +00:00
Mathias Vorreiter Pedersen
40dbc6fdd9
C++: Accept test changes.
2024-03-18 16:27:18 +00:00
Mathias Vorreiter Pedersen
032678a367
C++: Extend tests to also test the new predicates.
2024-03-18 16:27:10 +00:00
Mathias Vorreiter Pedersen
fb218150e1
C++: Change the testcase so that it outputs the controlling values for switch statements as well.
2024-03-15 17:05:42 +00:00
Mathias Vorreiter Pedersen
07ebbb0591
C++: Accept test changes.
2024-03-15 17:04:27 +00:00
Mathias Vorreiter Pedersen
704f1fad46
C++: Add switches as testcases for guard conditions.
2024-03-15 17:02:32 +00:00
Jeroen Ketema
edf178696d
C++: accept test changes for IR Guards replacement
2023-12-06 12:47:20 +01:00
Jeroen Ketema
4390e4cad3
C++: Fix handling of unreached instructions in IRGuards
2023-12-06 10:23:27 +01:00
Jeroen Ketema
d6e30cd828
C++: Add test showing unreachable instructions give spurious blocks in IRGuards
2023-12-06 10:23:27 +01:00
Jeroen Ketema
4d702e2eee
C++: Fix IRGuards ternary behaviour
2023-12-05 12:17:46 +01:00
Jeroen Ketema
d84961571b
C++: Add IRGuards test that shows that ternary behaviour is not quite correct
2023-12-05 12:16:01 +01:00
Mathias Vorreiter Pedersen
98bf748e64
C++: Accept test changes.
2023-11-23 16:53:57 +00:00
Jeroen Ketema
8bc8ef4dda
C++: Support pointer addition and subtraction in the IRGuards library
...
It seems this was something supported by the AST Guards library
2023-07-06 16:54:44 +02:00
Jeroen Ketema
e5eabc4e47
C++: Slightly tweak nullness test and update test results
2022-07-12 15:23:33 +02:00
Jeroen Ketema
6b2154eb8b
C++: Add tests for AnalysedExpr::isNullCheck and AnalysedExpr::isValidCheck
2022-07-11 11:54:48 +02:00
Geoffrey White
2683d011c0
Update cpp/ql/test/library-tests/controlflow/dereferenced/dereferenced.cpp
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-06-14 14:33:37 +01:00
Geoffrey White
512731a38d
C++: Add test for Dereferenced.qll.
2022-06-14 13:53:28 +01:00
Jeroen Ketema
5b0603a5b9
C++: Artificial block insertion for loops and switches has changed in frontend
...
There are now more artificial blocks containing more than one instruction
(artificial blocks containing a single instruction have the extractor only
emit that instruction and not the block). The second instruction in each case
is the label for breaking out of a loop or switch.
2022-04-25 21:13:52 +02:00
Jeroen Ketema
d43ae9b7ed
C++: More artificially inserted blocks carry location information in frontend
2022-04-25 21:13:29 +02:00
Erik Krogh Kristensen
d36c66cfca
remove redundant inline casts in arguments where the type is inferred by the call target
2021-10-29 14:37:56 +02:00
Jonas Jensen
9153f568be
C++: Accept test results with location fixes
2020-05-28 09:42:49 +02:00
Anders Schack-Mulligen
96e4a57edd
C++: Autoformat.
2020-01-29 13:11:50 +01:00
Geoffrey White
912260b3aa
C++: Autoformat tests.
2020-01-24 09:43:58 +00:00
Geoffrey White
795afa8160
CPP: Better location for the StackVariableReachability test.
2020-01-23 17:32:07 +00:00
Jonas Jensen
95a333d28c
C++: Use StackVariable in SSA libraries
...
This means we'll no longer get SSA definitions for thread-local
local-scope variables.
2019-11-19 11:30:59 +01:00
Jonas Jensen
4ef5c9af62
C++: Autoformat everything
...
Some files that will change in #1736 have been spared.
./build -j4 target/jars/qlformat
find ql/cpp/ql -name "*.ql" -print0 | xargs -0 target/jars/qlformat --input
find ql/cpp/ql -name "*.qll" -print0 | xargs -0 target/jars/qlformat --input
(cd ql && git checkout 'cpp/ql/src/semmle/code/cpp/ir/implementation/**/*SSA*.qll')
buildutils-internal/scripts/pr-checks/sync-identical-files.py --latest
2019-09-09 11:25:53 +02:00
Jonas Jensen
206a96df94
C++ IR: Rename getters for def/use on Operand
...
This renames `getDefinitionInstruction` to `getAnyDef`, reflecting that
it includes definitions without exact overlap. It renames
`getUseInstruction` to `getUse` for consistency.
perl -p -i -e 's/\bgetUseInstruction\b/getUse/g; s/\bgetDefinitionInstruction\b/getAnyDef/g' \
cpp/ql/src/semmle/code/cpp/ir/**/*.ql* \
cpp/ql/test/**/*.ql* \
cpp/ql/src/semmle/code/cpp/rangeanalysis/**/*.ql*
2019-07-03 10:06:48 +02:00
Jonas Jensen
07bd85e9fa
C++: Function error doesn't always exit
...
The configuration in `DefaultOptions.qll` assumed that a call to any
top-level function named `error` would exit the program. This is not
true.
The assumption was probably about `error(3)`, which is a GNU extension.
It only exits if its first argument it not 0. Furthermore, projects such
as openssh may define their own function named `error` with different
behaviour. Because the GNU `error` function is non-standard, it's
perfectly fine to shadow it with a project-specific definition.
This change removes two FPs from `PointlessComparison.qll` on
https://github.com/openssh/openssh-portable .
2019-02-26 16:31:34 +01:00
Robert Marsh
3c638b5966
C++: add edge-based predicates to IRGuards
...
These predicates currently take a pair of `IRBlock`s - as it stands, at
most one edge can exist from one `IRBlock` to a given other `IRBlock`.
We may need to revisit that assumption and create an `IREdge` IPA type
at some future date
2019-02-07 09:38:54 -08:00
Ian Lynagh
98e8858dc6
C++: Accept test changes
2019-01-03 21:09:49 +00:00
Dave Bartolomeo
a7cb2d6d7c
C++: Ignore Unreached blocks in IR Guards
2018-12-20 11:57:25 -08:00
Dave Bartolomeo
0140cd23d0
C++: Accept correct test output
2018-12-11 17:11:51 -08:00