Jeroen Ketema
a2d66ee155
C++: Extend the dbscheme with concept templates
2025-01-07 11:26:16 +01:00
github-actions[bot]
a121c5a5d0
Release preparation for version 2.20.1
2025-01-06 18:20:22 +00:00
Mathias Vorreiter Pedersen
d935e9fb0f
C++: Also resolve typedefs nested inside arrays.
2025-01-06 14:50:37 +00:00
Mathias Vorreiter Pedersen
493e75728c
Merge pull request #18386 from MathiasVP/more-robust-param-name-matching
...
C++: Resolve `typedef`s when matching MaD parameters
2025-01-06 14:40:17 +00:00
Mathias Vorreiter Pedersen
99ad184f57
Update cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-01-06 13:32:11 +00:00
Mathias Vorreiter Pedersen
75a3b6b613
Update cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-01-06 13:32:04 +00:00
Mathias Vorreiter Pedersen
f3085fc865
Update cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-01-06 13:30:59 +00:00
Mathias Vorreiter Pedersen
bfd18bc3e3
Update cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-01-06 13:30:50 +00:00
Jeroen Ketema
01a7a5323b
Merge pull request #18360 from github/jketema/template-parameters-3
...
C++: Support arguments and instantiations of template template parameters
2025-01-06 13:41:45 +01:00
Jeroen Ketema
0942945fa1
Update cpp/ql/lib/semmle/code/cpp/TemplateParameter.qll
...
Co-authored-by: Calum Grant <42069085+calumgrant@users.noreply.github.com >
2025-01-06 13:30:43 +01:00
Tom Hvitved
1b31c90d26
Implement FlowSummaryImpl stubs
2025-01-06 13:26:51 +01:00
Mathias Vorreiter Pedersen
9672af333a
C++: Cache 'interpretElement'. This reduces DIL size of 'cpp/unbounded-write' by about 8%.
2025-01-03 10:46:57 +01:00
Jeroen Ketema
8e660190a9
C++: Add dbscheme upgrade and downgrade script
2025-01-02 21:32:03 +01:00
Jeroen Ketema
795278d5ac
C++: Add change note
2025-01-02 21:31:58 +01:00
Jeroen Ketema
cfb98acbf1
C++: Slightly tweak change note to make it more consistent with others
2025-01-02 21:29:04 +01:00
Jeroen Ketema
6bf08f550e
C++: Update dbscheme stats file
2025-01-02 17:59:16 +01:00
Jeroen Ketema
84775b71c3
C++: Support arguments and instantiations of template template parameters
2025-01-02 17:59:06 +01:00
Mathias Vorreiter Pedersen
3d3feb6354
C++: Also resolve typedefs when parsing MaD model parameter names.
2025-01-02 16:06:46 +01:00
Mathias Vorreiter Pedersen
f23e56bdca
Merge pull request #18261 from MathiasVP/add-more-atl-string-models
...
C++: Add more MaD models for ATL string classes
2025-01-02 15:06:04 +00:00
Mathias Vorreiter Pedersen
cda007bae7
C++: Fix constructor model.
2025-01-02 15:39:31 +01:00
Mathias Vorreiter Pedersen
c1b997b2cb
C++: Make the string constructors value-preserving.
2025-01-02 15:25:23 +01:00
Mathias Vorreiter Pedersen
b8e54627f4
C++: Make some of the string models taint instead of value-preserving.
2025-01-02 15:22:42 +01:00
Mathias Vorreiter Pedersen
71ca9412b0
Update cpp/ql/lib/ext/CSimpleStringT.model.yml
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-01-02 14:16:31 +00:00
Mathias Vorreiter Pedersen
e7773770fa
C++: Fix missing return value flow out of 'operator=' in lots of MaD models.
2024-12-23 12:00:41 +01:00
Jeroen Ketema
e9b9dc23f8
Update cpp/ql/lib/change-notes/2024-12-20-sizeof-pack.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2024-12-20 17:11:38 +01:00
Jeroen Ketema
ecf3c53eba
C++: Introduce SizeofPackOperator subclasses for expressions and types
...
Note that template template parameters are considered types in this context.
2024-12-20 13:51:45 +01:00
Jeroen Ketema
51f625b90c
C++: Allow sizeof pack in sizeof_bind
2024-12-20 11:49:37 +01:00
Jeroen Ketema
84b60d2676
Merge pull request #18320 from jketema/template-parameters
...
C++: Support non-type template parameters
2024-12-19 16:21:49 +01:00
Jeroen Ketema
2209ee6747
C++: Update stats file
2024-12-18 20:53:34 +01:00
Jeroen Ketema
87f12ac801
C++: Add NonTypeTemplateParameter class
2024-12-18 17:37:15 +01:00
Jeroen Ketema
a99c9b58bb
C++: Add upgrade and downgrade scripts for non-type template parameters
2024-12-18 17:01:51 +01:00
Jeroen Ketema
8b626266c4
C++: Support non-type template parameters in the database scheme
2024-12-18 16:53:06 +01:00
Mathias Vorreiter Pedersen
927d359cfa
Merge pull request #18310 from MathiasVP/fix-recursion-through-forex-in-sign-analysis
...
C++: Fix `forex` recursion in sign analysis
2024-12-18 12:19:33 +00:00
Mathias Vorreiter Pedersen
4ffe70dd3b
C++: Respond to review comments.
2024-12-18 11:26:41 +00:00
Jeroen Ketema
66b2b5df8d
Merge pull request #18308 from jketema/template-parameters
...
C++: Introduce a new base class for template parameters
2024-12-18 10:38:03 +01:00
Jeroen Ketema
ccd3681f83
C++: Expand QLDoc of TemplateParameterBase
2024-12-18 09:45:51 +01:00
Mathias Vorreiter Pedersen
0b2b341283
C++: Work around suboptimal codegen for recursive 'forex'.
2024-12-17 23:58:57 +00:00
Jeroen Ketema
b7d1da8741
C++: Introduce a new base class for template parameters
...
This will enable us to support non-type template parameters, which we
currently do not support, and error template parameters, which might
become relevant in the `build-mode: none` context.
2024-12-17 20:25:41 +01:00
Mathias Vorreiter Pedersen
2cc6ffbd28
C++: Fix ql-for-ql findings.
2024-12-17 16:55:52 +00:00
Mathias Vorreiter Pedersen
5ed0222b1a
C++: Sync identical files.
2024-12-17 15:28:04 +00:00
Mathias Vorreiter Pedersen
f351558547
C++: While here, let's avoid materializing 'ensuresEq' and 'ensuresLt' when computing unreachable nodes in dataflow.
2024-12-17 15:27:54 +00:00
Mathias Vorreiter Pedersen
9b6f39c1fe
C++: Apply similar join order fixes to the other cases.
2024-12-17 15:26:49 +00:00
Mathias Vorreiter Pedersen
eea7804b62
C++: Join with value number only after joining with 'controls'.
2024-12-17 15:25:16 +00:00
Jeroen Ketema
fa5cc90167
Merge pull request #18281 from jketema/changenote
...
C++: Add word missing from change note
2024-12-16 20:23:47 +01:00
Mathias Vorreiter Pedersen
913357b70d
C++: Fix incorrect QLDoc.
2024-12-16 14:02:50 +00:00
Mathias Vorreiter Pedersen
5a90b25c45
C++: Remove the released change note and add a new change note.
2024-12-16 14:02:48 +00:00
Mathias Vorreiter Pedersen
5327847744
C++: No need to exclude static and global initializers now that we inline the predicates.
2024-12-16 14:02:46 +00:00
Mathias Vorreiter Pedersen
3bdfdd0573
C++: Change all the 'ensures' and (and most 'compares') predicates to be inlined to prevent explosions. Also remove the caching since this is't necessary now that the main recursion is cached.
2024-12-16 14:02:44 +00:00
Mathias Vorreiter Pedersen
404dd33498
C++: Move the main recursion into to a cached module.
2024-12-16 14:02:42 +00:00
Mathias Vorreiter Pedersen
6f73aa552d
C++: Convert IRGuards to use final abstract classes.
2024-12-16 14:02:40 +00:00