Commit Graph

2961 Commits

Author SHA1 Message Date
Henning Makholm
3d8d340f2a Supplement 'query-type: graph' with actual query metadata
A number of CPP library tests contain `// query-type: graph`
annotations that make the test driver compare the output
from the test query in a special mode. (This feature is
not used by other languages).

It's somewhat awkward in the implementation of `codeql test run`
that this annotation is not an ordinary item of query metadata --
essentially it means that _every_ test query has to be opened
and read an extra time to look for this annotation. I'd like
to move towards using ordinary query metadata for this, since
the QL compiler already parses it anyway.

For the time being, give the annotation in both old and new
syntaxes, until a CLI that recognizes both has been released.
2024-10-22 20:38:00 +02:00
Jeroen Ketema
e36a1c717d Merge branch 'main' into aliasperf2 2024-10-21 16:40:01 +02:00
Calum Grant
0fcabc4e61 C++: Move mayBeFromImplicitlyDeclaredFunction to Call 2024-10-18 15:56:08 +01:00
Dave Bartolomeo
639864e94d Handle may vs. must for EntireAllocationMemoryLocation 2024-10-17 19:50:50 +01:00
Jeroen Ketema
064ec91fa2 Merge pull request #17778 from jketema/param-name
C++: Improve parameter naming
2024-10-17 16:29:10 +02:00
Mathias Vorreiter Pedersen
2dbf75fde9 C++: Accept test changes. 2024-10-16 14:15:05 +01:00
Mathias Vorreiter Pedersen
9ea4c40ca9 C++: Add failing test. 2024-10-16 14:13:55 +01:00
Calum Grant
ceceee1947 C++: Add test for mixed implicit/explicit function declarations 2024-10-16 13:46:06 +01:00
Anders Schack-Mulligen
9ca8a27bae C/C++: Accept test changes. 2024-10-16 14:35:22 +02:00
Jeroen Ketema
1eb0b49634 C++: Improve parameter naming 2024-10-16 11:33:18 +02:00
Calum Grant
6a48ad0ee7 C++: Implement Expr::mayBeFromImplicitlyDeclaredFunction 2024-10-16 10:23:39 +01:00
Jeroen Ketema
22b8e2cbb4 C++: Add missing parent scope cases 2024-10-15 17:16:58 +02:00
Jeroen Ketema
168f7f5d34 C++: Add support for C++ requires expressions 2024-10-15 13:44:17 +02:00
Jeroen Ketema
f1a350c96a C++: Print handler parameters in PrintAST 2024-10-10 20:47:12 +02:00
Geoffrey White
b692b1b282 C++: Autoformat. 2024-10-10 17:26:38 +01:00
Geoffrey White
cedfeee6d7 Merge branch 'main' into aliasperf2 2024-10-10 17:25:45 +01:00
Mathias Vorreiter Pedersen
e7da53d838 Merge pull request #17715 from MathiasVP/fopen-taint
C++: Add taint through `fopen`
2024-10-10 15:46:46 +01:00
Jeroen Ketema
8352d17e2c Merge pull request #17693 from jketema/concepts
C++: Add a skeleton class for requires expressions
2024-10-09 16:54:33 +02:00
Mathias Vorreiter Pedersen
338e82064e C++: Add a taint model for 'fopen' and accept test changes. 2024-10-09 14:40:26 +01:00
Mathias Vorreiter Pedersen
201842d2f9 C++: Add test with missing flow through 'fopen'. 2024-10-09 14:39:24 +01:00
Jeroen Ketema
723236d15b C++: Add a skeleton class for requires expressions 2024-10-09 02:16:20 +02:00
Jeroen Ketema
c90d0faaf6 C++: Fix ODR violations in dataflow tests 2024-10-08 20:34:20 +02:00
Geoffrey White
7ff376b346 Merge branch 'main' into aliasperf2 2024-10-08 15:08:43 +01:00
Geoffrey White
4a131dd8f1 C++: Implement dbartol's suggestion. 2024-10-08 14:44:45 +01:00
Geoffrey White
f9fa52fe77 C++: Disabled the change again. 2024-10-08 14:43:56 +01:00
Tom Hvitved
953461d1aa C++: Update expected test output 2024-10-04 08:35:31 +02:00
Jeroen Ketema
e73d1c7b76 C++: Add more macro expansion tests 2024-09-28 22:32:36 +02:00
Tom Hvitved
ed9008a064 Update expected test output 2024-09-18 13:51:02 +02:00
Jeroen Ketema
ca10953761 C++: Update syntax zoo expected test results 2024-09-10 21:25:29 +02:00
Jeroen Ketema
5754f8bac8 C++: Fix __finally related inconsistencies 2024-09-10 20:39:13 +02:00
Jeroen Ketema
500a2a0738 C++: Fix IR inconsistency due to throwing __except block
The fix consists of three parts:
* Ensure that an `Unwind` instruction is generated for functions that contain
  a Microsoft `__try` statement, or a function that must throw.
* Do not manually introduce `Unwind` instructions for `__except` blocks, but
  depend on the `Unwind` that we now insert in the function.
* Add missing `getExceptionSuccessorInstruction` predicate to
  `TranslatedMicrosoftTryExceptHandler`
2024-09-10 12:41:43 +02:00
Jeroen Ketema
dfa16423c0 C++: Add IR inconsistency test 2024-09-09 21:50:42 +02:00
Jeroen Ketema
6e0b5bcb63 Merge pull request #17414 from MathiasVP/add-more-try-except-testcases
C++: Add more IR inconsistency tests
2024-09-09 18:10:42 +02:00
Mathias Vorreiter Pedersen
353cd8cc74 C++: Add more IR inconsistency tests. 2024-09-09 16:37:55 +01:00
Jeroen Ketema
915d24c62f C++: Re-introduce the original version of the many_defs_per_use IR test
See: 28cff2ea20
2024-09-06 17:38:29 +02:00
Jeroen Ketema
b73b8682b4 Merge pull request #17371 from jketema/correct-include
C++: Update expected test results after extractor changes
2024-09-06 09:38:06 +02:00
Mathias Vorreiter Pedersen
25d7f17efc C++: Add testcase with IR inconsistencies. 2024-09-05 19:32:53 +01:00
Jeroen Ketema
5b65f98e2c C++: Update expected test results after extractor changes
The updated test results look more correct, as the documentation of
`#include_next` [1] that it should start looking in the next directory
in the search path. Before this update, the frontend was actually
looking in the current directory first, which is incorrect.

[1] https://gcc.gnu.org/onlinedocs/cpp/Wrapper-Headers.html
2024-09-05 15:17:43 +02:00
Simon Friis Vindum
5950af390d Merge pull request #17351 from paldepind/swap-member-data-flow
C++: Make swap member functions data-flow functions
2024-09-05 11:39:16 +02:00
Jeroen Ketema
b6e38ff862 Merge pull request #17342 from jketema/coroutine
C++: Fix coroutine IR inconsistencies
2024-09-05 10:15:16 +02:00
Simon Friis Vindum
f066f21751 C++: Make swap member functions data-flow functions 2024-09-04 13:55:19 +02:00
Erik Krogh Kristensen
4258119ba3 Merge branch 'main' into del-deps-sep-2024 2024-09-04 12:43:41 +02:00
Simon Friis Vindum
04f4039adc Merge pull request #17354 from paldepind/realloc-data-flow
C++: Make realloc a data-flow function
2024-09-04 09:04:12 +02:00
erik-krogh
0fdd06fff5 use my script to delete outdated deprecations 2024-09-03 20:30:58 +02:00
Jeroen Ketema
8ca52f278a C++: Fix coroutine IR inconsistencies
While here, remove some dead code related to fixed points from the database
scheme.
2024-09-03 18:12:36 +02:00
Simon Friis Vindum
037912fd2d C++: Add data-flow test for realloc 2024-09-03 14:02:03 +02:00
Geoffrey White
1ff6c4c090 C++: Restore change and see effect on test. 2024-09-03 11:55:06 +01:00
Geoffrey White
5bd58f044e C++: Add a direct test of getOverlap and a test case for it. 2024-09-03 11:52:20 +01:00
Simon Friis Vindum
78068a488f C++: Make realloc a data-flow function 2024-09-03 11:25:18 +02:00
Jeroen Ketema
4945943732 C++: Support C11 _Generic expressions 2024-08-30 14:24:03 +02:00