Commit Graph

12880 Commits

Author SHA1 Message Date
Mathias Vorreiter Pedersen
1e33593c79 C++: Accept test changes. 2025-01-16 00:39:23 +00:00
Mathias Vorreiter Pedersen
dd39b97ab0 C++: Insert int-to-bool conversions at conditions. 2025-01-16 00:39:22 +00:00
Mathias Vorreiter Pedersen
2e3d3494de C++: Accept test changes. 2025-01-16 00:39:20 +00:00
Mathias Vorreiter Pedersen
5acd2bb2fb C++: Adjust the result type at 'NotExpr' and at comparisons. 2025-01-16 00:39:17 +00:00
Mathias Vorreiter Pedersen
9429b03896 C++: Provide a hook for overriding 'getResultType'. 2025-01-16 00:39:16 +00:00
Mathias Vorreiter Pedersen
6dd1c5e809 C++: Split out 'NotExpr' to its own class. 2025-01-16 00:39:14 +00:00
Mathias Vorreiter Pedersen
01cbd2f7f1 C++: Ensure that the instruction being compared is the result of the 'CallInstruction'. 2025-01-15 19:27:28 +00:00
Jeroen Ketema
84c674b992 C++: Fix typos in IR translation comments 2025-01-15 20:16:43 +01:00
Jeroen Ketema
a3cd66844c C++: Add change note 2025-01-15 11:38:09 +01:00
Jeroen Ketema
cd5e77348b C++: Add upgrade and downgrade scripts 2025-01-15 11:38:07 +01:00
Jeroen Ketema
8e39eb9020 C++: Fix incorrect dbscheme assumptions on proxy classes 2025-01-15 11:38:05 +01:00
Jeroen Ketema
13e8853277 C++: Update expected test results after extractor changes 2025-01-15 11:38:03 +01:00
Jeroen Ketema
537feddf06 C++: Introduce usertypes for structs and unions 2025-01-15 11:38:01 +01:00
Mathias Vorreiter Pedersen
0ff37f1205 Merge pull request #18486 from MathiasVP/indirect-instruction-barriers
C++: Add a `BarrierGuard` module for indirect instruction/operand nodes.
2025-01-14 11:37:58 +00:00
Simon Friis Vindum
7196892867 Merge pull request #18461 from paldepind/cpp-conditional-expr-range-analysis
C++: Only propagate smallest/largest range bound in conditional expressions
2025-01-14 12:31:21 +01:00
Mathias Vorreiter Pedersen
aa55b8e726 Merge pull request #18485 from MathiasVP/speed-up-cpp-unbounded-write
C++: Speed up the `cpp/unbounded-write` query for an upcoming change
2025-01-14 10:39:03 +00:00
Jeroen Ketema
a2aefc9d61 Merge pull request #18478 from jketema/stats-try
C++: Update stats file
2025-01-14 10:47:20 +01:00
Jeroen Ketema
4951571dd4 Merge pull request #18488 from geoffw0/cleanup
C++: Fix a couple of typos.
2025-01-14 10:46:56 +01:00
Geoffrey White
96008469d4 C++: QLDoc correction. 2025-01-14 09:19:50 +00:00
Mathias Vorreiter Pedersen
d9d0d9348c C++: Add change note. 2025-01-13 18:53:59 +00:00
Mathias Vorreiter Pedersen
91992e2f3f C++: Accept test changes. 2025-01-13 18:34:42 +00:00
Mathias Vorreiter Pedersen
6f3a2c41b3 C++: Fill in skeleton for indirect instruction/operand barrier nodes. 2025-01-13 18:34:32 +00:00
Mathias Vorreiter Pedersen
4e3b27e920 C++: Add a testcase that needs indirect instruction/operand nodes. 2025-01-13 18:33:52 +00:00
Mathias Vorreiter Pedersen
d63b73406c C++: Add dataflow skeleton for barrier guards on indirect instruction/operand nodes. 2025-01-13 18:33:18 +00:00
Mathias Vorreiter Pedersen
2d44b33598 C++: Speed up the 'cpp/unbounded-write' query. 2025-01-13 16:03:30 +00:00
Simon Friis Vindum
e9f2a8b017 C++: Extend nested ternary test with two more terms in the addition 2025-01-13 13:54:05 +01:00
Simon Friis Vindum
dcdc43933b C++: Minor refactor and documentation tweak to simple range analysis 2025-01-13 12:15:09 +01:00
Simon Friis Vindum
0c9ee4d029 C++: Only propagate smallest/largest bound in conditional expressions 2025-01-13 12:11:45 +01:00
Simon Friis Vindum
847f3f1fc2 C++: Add test for nested ternary expressions of literals 2025-01-13 12:08:50 +01:00
Jeroen Ketema
3f093aea35 C++: Fix join order problem after stats file update
Tuple counts before the change (terminated early):
```
[2025-01-11 17:49:42] (297s) Tuple counts for AliasedSSA::getResultMemoryLocation/1#eb4efd2d/2@c513392o after 13.5s:
                      0          ~0%       {3} r1 = JOIN `_SSAConstruction::getInstructionOpcode/2#ec2d1f97_10#join_rhs__AliasedSSA::canReuseSsaForOldResult/1__#shared` WITH Opcode::MayWriteOpcode#class#21b7b7f2 ON FIRST 1 OUTPUT Lhs.1, Lhs.2 'instr', _
                      0          ~0%       {3}    | REWRITE WITH Out.2 := true

                      30500      ~124%     {2} r2 = SCAN `_AliasedSSA::canReuseSsaForOldResult/1#280fbda5_Opcode::Opcode.getWriteMemoryAccess/0#dispred#531702__#shared` OUTPUT In.1, In.0 'instr'
                                           {2}    | AND NOT `_Opcode::MayWriteOpcode#class#21b7b7f2__SSAConstruction::getInstructionOpcode/2#ec2d1f97_10#join_rhs__#antijoin_rhs#1`(FIRST 2)
                      30500      ~134%     {3}    | SCAN OUTPUT In.0, In.1 'instr', _
                      30500      ~120%     {3}    | REWRITE WITH Out.2 := false

                      30500      ~120%     {3} r3 = r1 UNION r2

                      8000       ~738%     {2} r4 = JOIN r3 WITH num#MemoryAccessKind::TEscapedMemoryAccess#a0368c86 ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.2
                                           {2}    | AND NOT `AliasedSSA::canReuseSsaForOldResult/1#280fbda5`(FIRST 1)
                      4000       ~699%     {2}    | SCAN OUTPUT In.1, In.0 'instr'
                      1501792000 ~686%     {3}    | JOIN WITH num#AliasedSSA::TAllAliasedMemory#4bb632db_102#join_rhs ON FIRST 1 OUTPUT Rhs.2 'result', Lhs.1 'instr', Rhs.1
                      1501788000 ~709%     {3}    | JOIN WITH AliasedSSA::MemoryLocation#4b9f223c ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.2, Lhs.0 'result'
                      0          ~0%       {2}    | JOIN WITH `SSAConstruction::getInstructionEnclosingIRFunction/1#d26c0476` ON FIRST 2 OUTPUT Lhs.0 'instr', Lhs.2 'result'

                      8000       ~674%     {2} r5 = JOIN r3 WITH num#MemoryAccessKind::TNonLocalMemoryAccess#b2a59f45 ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.2
                                           {2}    | AND NOT `AliasedSSA::canReuseSsaForOldResult/1#280fbda5`(FIRST 1)
                      4000       ~689%     {2}    | SCAN OUTPUT In.1, In.0 'instr'
                      310509500  ~547%     {3}    | JOIN WITH num#AliasedSSA::TAllNonLocalMemory#7ba9f6c9_102#join_rhs ON FIRST 1 OUTPUT Rhs.2 'result', Lhs.1 'instr', Rhs.1
                      310504500  ~527%     {3}    | JOIN WITH AliasedSSA::MemoryLocation#4b9f223c ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.2, Lhs.0 'result'
                      0          ~0%       {2}    | JOIN WITH `SSAConstruction::getInstructionEnclosingIRFunction/1#d26c0476` ON FIRST 2 OUTPUT Lhs.0 'instr', Lhs.2 'result'

                      5000       ~2%       {2} r6 = JOIN r3 WITH `AliasedSSA::isIndirectOrBufferMemoryAccess/1#a6492554` ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.2
                      5000       ~2%       {2}    | AND NOT `AliasedSSA::canReuseSsaForOldResult/1#280fbda5`(FIRST 1)

                                           {2} r7 = r6 AND NOT `project#AliasedSSA::hasResultMemoryAccess/9#732473d4#7`(FIRST 1)
                      0          ~0%       {2}    | SCAN OUTPUT In.1, In.0 'instr'
                      0          ~0%       {3}    | JOIN WITH num#AliasedSSA::TUnknownMemoryLocation#e0c2a990_102#join_rhs ON FIRST 1 OUTPUT Rhs.2 'result', Lhs.1 'instr', Rhs.1
                      0          ~0%       {3}    | JOIN WITH AliasedSSA::MemoryLocation#4b9f223c ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.2, Lhs.0 'result'
                      0          ~0%       {2}    | JOIN WITH `SSAConstruction::getInstructionEnclosingIRFunction/1#d26c0476` ON FIRST 2 OUTPUT Lhs.0 'instr', Lhs.2 'result'

                      5000       ~0%       {2} r8 = JOIN r3 WITH num#MemoryAccessKind::TEntireAllocationMemoryAccess#503d0afb ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.2
                      5000       ~0%       {2}    | AND NOT `AliasedSSA::canReuseSsaForOldResult/1#280fbda5`(FIRST 1)
                      4500       ~2%       {4}    | JOIN WITH `Instruction::Instruction.getResultAddressOperand/0#dispred#619d4407` ON FIRST 1 OUTPUT Rhs.1, Lhs.0 'instr', _, Lhs.1
                      4500       ~4%       {3}    | REWRITE WITH Out.2 := booleanNot(In.3) KEEPING 3
                      0          ~0%       {3}    | JOIN WITH `project#AliasAnalysis::addressOperandAllocationAndOffset/3#c64a9862` ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'instr', Lhs.2
                      0          ~0%       {4}    | JOIN WITH num#AliasedSSA::TEntireAllocationMemoryLocation#85bb24dd ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.2, Rhs.1, Rhs.2 'result'
                                           {4}    | REWRITE WITH TEST InOut.1 != InOut.2
                      0          ~0%       {2}    | SCAN OUTPUT In.3 'result', In.0 'instr'
                      0          ~0%       {2}    | JOIN WITH AliasedSSA::MemoryLocation#4b9f223c ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.0 'result'

                      4500       ~0%       {5} r9 = JOIN r6 WITH `project#AliasedSSA::hasResultMemoryAccess/9#732473d4#5_0512346#join_rhs` ON FIRST 2 OUTPUT Lhs.0 'instr', Lhs.1, Rhs.2, Rhs.6, _
                                           {4}    | REWRITE WITH Tmp.4 := false, TEST InOut.3 != Tmp.4 KEEPING 4
                      0          ~0%       {5}    | SCAN OUTPUT In.2, _, In.0 'instr', _, In.1
                      0          ~0%       {4}    | REWRITE WITH Out.1 := false, Out.3 := booleanNot(In.4) KEEPING 4
                      0          ~0%       {4}    | JOIN WITH `AliasedSSA::getGroupedMemoryLocation/3#14ef79fc#ffbf_0213#join_rhs` ON FIRST 2 OUTPUT Lhs.2 'instr', Lhs.3, Rhs.2, Rhs.3 'result'
                                           {4}    | REWRITE WITH TEST InOut.1 != InOut.2
                      0          ~0%       {2}    | SCAN OUTPUT In.3 'result', In.0 'instr'
                      0          ~0%       {2}    | JOIN WITH AliasedSSA::MemoryLocation#4b9f223c ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.0 'result'

                      4500       ~0%       {8} r10 = JOIN r6 WITH `project#AliasedSSA::hasResultMemoryAccess/9#732473d4#5_0512346#join_rhs` ON FIRST 2 OUTPUT Lhs.0 'instr', Lhs.1, Rhs.2, Rhs.3, Rhs.4, Rhs.5, Rhs.6, _
                                           {7}    | REWRITE WITH Tmp.7 := false, TEST InOut.6 = Tmp.7 KEEPING 7
                      4000       ~0%       {6}    | SCAN OUTPUT In.2, In.3, In.4, In.5, In.0 'instr', In.1
                      3500       ~1%       {8}    | JOIN WITH num#AliasedSSA::TVariableMemoryLocation#8e8cb20c_013456#join_rhs ON FIRST 4 OUTPUT Rhs.5 'result', Lhs.4 'instr', Lhs.5, Lhs.0, Lhs.1, Lhs.2, Lhs.3, Rhs.4
                      3000       ~0%       {8}    | JOIN WITH AliasedSSA::MemoryLocation#4b9f223c ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.3, Lhs.4, Lhs.5, Lhs.6, Lhs.2, Lhs.7, Lhs.0 'result'
                      2500       ~2%       {5}    | JOIN WITH `project#AliasedSSA::hasResultMemoryAccess/9#732473d4#6` ON FIRST 6 OUTPUT Lhs.0 'instr', Lhs.6, Lhs.7 'result', _, Lhs.5
                                           {4}    | REWRITE WITH Out.3 := booleanNot(In.4), TEST Out.3 != InOut.1 KEEPING 4
                      2000       ~0%       {2}    | SCAN OUTPUT In.0 'instr', In.2 'result'

                      2000       ~0%       {2} r11 = r4 UNION r5 UNION r7 UNION r8 UNION r9 UNION r10
                                           return r11
```

Tuple counts after:
```
[2025-01-11 17:52:46] (9s) Tuple counts for AliasedSSA::getResultMemoryLocation/1#eb4efd2d/2@6c9e69ae after 6.1s:
                      1283623 ~5%       {3} r1 = JOIN `_SSAConstruction::getInstructionOpcode/2#ec2d1f97_10#join_rhs__AliasedSSA::canReuseSsaForOldResult/1__#shared` WITH Opcode::MayWriteOpcode#class#21b7b7f2 ON FIRST 1 OUTPUT Lhs.1, Lhs.2 'instr', _
                      1283623 ~0%       {3}    | REWRITE WITH Out.2 := true

                      2965447 ~0%       {2} r2 = SCAN `_AliasedSSA::canReuseSsaForOldResult/1#280fbda5_Opcode::Opcode.getWriteMemoryAccess/0#dispred#531702__#shared` OUTPUT In.1, In.0 'instr'
                                        {2}    | AND NOT `_Opcode::MayWriteOpcode#class#21b7b7f2__SSAConstruction::getInstructionOpcode/2#ec2d1f97_10#join_rhs__#antijoin_rhs#1`(FIRST 2)
                      1681824 ~1%       {3}    | SCAN OUTPUT In.0, In.1 'instr', _
                      1681824 ~0%       {3}    | REWRITE WITH Out.2 := false

                      2965447 ~0%       {3} r3 = r1 UNION r2

                      1334818 ~0%       {2} r4 = JOIN r3 WITH num#MemoryAccessKind::TEscapedMemoryAccess#a0368c86 ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.2
                      1334818 ~0%       {2}    | AND NOT `AliasedSSA::canReuseSsaForOldResult/1#280fbda5`(FIRST 1)
                      1334818 ~6%       {3}    | JOIN WITH `SSAConstruction::getInstructionEnclosingIRFunction/1#d26c0476` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0 'instr'
                      1334818 ~4%       {2}    | JOIN WITH num#AliasedSSA::TAllAliasedMemory#4bb632db ON FIRST 2 OUTPUT Rhs.2 'result', Lhs.2 'instr'
                      1334818 ~2%       {2}    | JOIN WITH AliasedSSA::MemoryLocation#4b9f223c ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.0 'result'

                      363138  ~1%       {2} r5 = JOIN r3 WITH num#MemoryAccessKind::TNonLocalMemoryAccess#b2a59f45 ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.2
                      363138  ~1%       {2}    | AND NOT `AliasedSSA::canReuseSsaForOldResult/1#280fbda5`(FIRST 1)
                      363138  ~5%       {3}    | JOIN WITH `SSAConstruction::getInstructionEnclosingIRFunction/1#d26c0476` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0 'instr'
                      363138  ~0%       {2}    | JOIN WITH num#AliasedSSA::TAllNonLocalMemory#7ba9f6c9 ON FIRST 2 OUTPUT Rhs.2 'result', Lhs.2 'instr'
                      363138  ~0%       {2}    | JOIN WITH AliasedSSA::MemoryLocation#4b9f223c ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.0 'result'

                      1086950 ~5%       {2} r6 = JOIN r3 WITH `AliasedSSA::isIndirectOrBufferMemoryAccess/1#a6492554` ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.2
                      1086950 ~5%       {2}    | AND NOT `AliasedSSA::canReuseSsaForOldResult/1#280fbda5`(FIRST 1)

                      141434  ~0%       {2} r7 = r6 AND NOT `project#AliasedSSA::hasResultMemoryAccess/9#732473d4#7`(FIRST 1)
                      141434  ~0%       {3}    | JOIN WITH `SSAConstruction::getInstructionEnclosingIRFunction/1#d26c0476` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0 'instr'
                      141434  ~5%       {2}    | JOIN WITH num#AliasedSSA::TUnknownMemoryLocation#e0c2a990 ON FIRST 2 OUTPUT Rhs.2 'result', Lhs.2 'instr'
                      141434  ~0%       {2}    | JOIN WITH AliasedSSA::MemoryLocation#4b9f223c ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.0 'result'

                      180541  ~0%       {2} r8 = JOIN r3 WITH num#MemoryAccessKind::TEntireAllocationMemoryAccess#503d0afb ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.2
                      180541  ~0%       {2}    | AND NOT `AliasedSSA::canReuseSsaForOldResult/1#280fbda5`(FIRST 1)
                      180541  ~3%       {4}    | JOIN WITH `Instruction::Instruction.getResultAddressOperand/0#dispred#619d4407` ON FIRST 1 OUTPUT Rhs.1, Lhs.0 'instr', _, Lhs.1
                      180541  ~0%       {3}    | REWRITE WITH Out.2 := booleanNot(In.3) KEEPING 3
                      175074  ~2%       {3}    | JOIN WITH `project#AliasAnalysis::addressOperandAllocationAndOffset/3#c64a9862` ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'instr', Lhs.2
                      349412  ~0%       {4}    | JOIN WITH num#AliasedSSA::TEntireAllocationMemoryLocation#85bb24dd ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.2, Rhs.1, Rhs.2 'result'
                                        {4}    | REWRITE WITH TEST InOut.1 != InOut.2
                      174706  ~1%       {2}    | SCAN OUTPUT In.3 'result', In.0 'instr'
                      174706  ~3%       {2}    | JOIN WITH AliasedSSA::MemoryLocation#4b9f223c ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.0 'result'

                      946577  ~0%       {5} r9 = JOIN r6 WITH `project#AliasedSSA::hasResultMemoryAccess/9#732473d4#5_0512346#join_rhs` ON FIRST 2 OUTPUT Lhs.0 'instr', Lhs.1, Rhs.2, Rhs.6, _
                                        {4}    | REWRITE WITH Tmp.4 := false, TEST InOut.3 != Tmp.4 KEEPING 4
                      2122    ~6%       {5}    | SCAN OUTPUT In.2, _, In.0 'instr', _, In.1
                      2122    ~0%       {4}    | REWRITE WITH Out.1 := false, Out.3 := booleanNot(In.4) KEEPING 4
                      4244    ~104%     {4}    | JOIN WITH `AliasedSSA::getGroupedMemoryLocation/3#14ef79fc#ffbf_0213#join_rhs` ON FIRST 2 OUTPUT Lhs.2 'instr', Lhs.3, Rhs.2, Rhs.3 'result'
                                        {4}    | REWRITE WITH TEST InOut.1 != InOut.2
                      2122    ~98%      {2}    | SCAN OUTPUT In.3 'result', In.0 'instr'
                      1061    ~0%       {2}    | JOIN WITH AliasedSSA::MemoryLocation#4b9f223c ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.0 'result'

                      946577  ~0%       {8} r10 = JOIN r6 WITH `project#AliasedSSA::hasResultMemoryAccess/9#732473d4#5_0512346#join_rhs` ON FIRST 2 OUTPUT Lhs.0 'instr', Lhs.1, Rhs.2, Rhs.3, Rhs.4, Rhs.5, Rhs.6, _
                                        {7}    | REWRITE WITH Tmp.7 := false, TEST InOut.6 = Tmp.7 KEEPING 7
                      944455  ~0%       {6}    | SCAN OUTPUT In.2, In.3, In.4, In.5, In.0 'instr', In.1
                      1183383 ~2%       {8}    | JOIN WITH num#AliasedSSA::TVariableMemoryLocation#8e8cb20c_013456#join_rhs ON FIRST 4 OUTPUT Rhs.5 'result', Lhs.4 'instr', Lhs.5, Lhs.0, Lhs.1, Lhs.2, Lhs.3, Rhs.4
                      1183383 ~0%       {8}    | JOIN WITH AliasedSSA::MemoryLocation#4b9f223c ON FIRST 1 OUTPUT Lhs.1 'instr', Lhs.3, Lhs.4, Lhs.5, Lhs.6, Lhs.2, Lhs.7, Lhs.0 'result'
                      1183383 ~0%       {5}    | JOIN WITH `project#AliasedSSA::hasResultMemoryAccess/9#732473d4#6` ON FIRST 6 OUTPUT Lhs.0 'instr', Lhs.6, Lhs.7 'result', _, Lhs.5
                                        {4}    | REWRITE WITH Out.3 := booleanNot(In.4), TEST Out.3 != InOut.1 KEEPING 4
                      944455  ~3%       {2}    | SCAN OUTPUT In.0 'instr', In.2 'result'

                      2959612 ~0%       {2} r11 = r4 UNION r5 UNION r7 UNION r8 UNION r9 UNION r10
                                        return r11
```
2025-01-11 17:50:51 +01:00
Jeroen Ketema
fb047a67d6 C++: Update stats file 2025-01-11 17:40:18 +01:00
Jeroen Ketema
8c3e5b6f56 Merge pull request #18368 from github/jketema/template-parameters-7
C++: Handle requires clauses and type template type constraints
2025-01-10 15:02:41 +01:00
Tom Hvitved
303b11ec36 Merge pull request #18298 from hvitved/rust/mad-source-sink
Rust: Add support for MaD sources and sinks with access paths
2025-01-10 11:49:51 +01:00
Mathias Vorreiter Pedersen
a35dc7ea69 Merge pull request #18463 from MathiasVP/add-sysalloc-models
C++: Add MaD models for `SysAllocString` and friends
2025-01-10 10:10:06 +00:00
Jeroen Ketema
0a292fbaf5 C++: Add upgrade and downgrade scripts 2025-01-10 10:20:51 +01:00
Jeroen Ketema
7f5772b8a4 C++: Update dbscheme stats file 2025-01-10 10:19:45 +01:00
Jeroen Ketema
3f6a2850cc C++: Add change note 2025-01-10 10:19:44 +01:00
Jeroen Ketema
2c9af9ea30 C++: Add support for requires clauses and constraints on template parameters 2025-01-10 10:19:34 +01:00
Jeroen Ketema
204afab427 Merge pull request #18367 from github/jketema/template-parameters-6
C++: Handle template variable specializations
2025-01-09 22:21:03 +01:00
Mathias Vorreiter Pedersen
1822dc4860 C++: Add change note. 2025-01-09 17:56:07 +00:00
Mathias Vorreiter Pedersen
7a84132a6b C++: Add models and accept testcases. 2025-01-09 17:32:34 +00:00
Mathias Vorreiter Pedersen
23acc31885 C++: Add testcases with missing models. 2025-01-09 17:30:37 +00:00
Jeroen Ketema
12048aefad Merge pull request #18408 from jketema/config-silence
C++: Silence alerts coming from CMake test compilation files
2025-01-09 16:31:55 +01:00
Geoffrey White
0ce409efd7 Update cpp/ql/test/query-tests/Likely Bugs/Likely Typos/ExprHasNoEffect/CMakeFiles/CMakeScratch/TryCompile-abcdef/CheckFunctionExists.c
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2025-01-09 15:17:57 +00:00
yoff
b263132ab2 Merge pull request #17998 from yoff/shared/locations-in-range-analysis 2025-01-09 14:05:54 +01:00
Jeroen Ketema
347edc4ff6 C++: Add upgrade and downgrade scripts 2025-01-09 13:26:33 +01:00
Jeroen Ketema
74bc28534f C++: Update dbscheme stats file 2025-01-09 13:23:25 +01:00
Jeroen Ketema
0a57587189 C++: Add change note 2025-01-09 13:23:23 +01:00
Jeroen Ketema
17127356e8 C++: Handle template variable specializations 2025-01-09 13:23:21 +01:00
Jeroen Ketema
ac05bfcf4e C++: Remove some redundant toStrings 2025-01-09 11:04:07 +01:00