Граф коммитов

1788 Коммитов

Автор SHA1 Сообщение Дата
Robert Marsh 6bd22b01b3
Merge pull request #1607 from dave-bartolomeo/dave/CrossLanguageIR
C++: Start preparing IR for supporting multiple languages
2019-07-29 12:34:21 -07:00
Ian Lynagh b2a68d7eaa C++: Update stats following lambda change 2019-07-26 20:39:22 +01:00
Ian Lynagh cff1bb0b96 C++: Update lambda test output
Indexes are now 0-based.
2019-07-26 20:39:22 +01:00
Ian Lynagh 6c21fbaade C++: Add an upgrade script 2019-07-26 20:39:22 +01:00
Ian Lynagh 4385ca1ab6 C++: Follow changes to how lambdas are extracted 2019-07-26 20:39:22 +01:00
yh-semmle a42d9b1f96
Merge pull request #1616 from aschackmull/java/dataflow-prunetype-bugfix
Java: Bugfix for flow through methods with taint step and upcast.
2019-07-24 22:28:05 -04:00
Robert Marsh 05cad96086
Merge pull request #1605 from geoffw0/bitwiseneg
CPP: Make BitwiseSignCheck.ql more accurate
2019-07-24 12:33:40 -07:00
Robert Marsh fa43ae241d
Merge pull request #1615 from geoffw0/exprowninit
CPP: Test + workaround for UseInOwnInitializer.ql
2019-07-24 12:13:24 -07:00
Geoffrey White 75f77b5f47
Merge pull request #1532 from zlaski-semmle/zlaski/cpp386
[CPP-386] Add `getCanonicalQLClass()` for AST QL elements.
2019-07-24 09:38:39 +01:00
Ziemowit Laski e989eabc0a Update test case (remove references to MacroInvocationStmt and MacroInvocationExpr) 2019-07-22 11:09:30 -07:00
Ziemowit Laski f8d52a3bea Remove getCanonicalQLClass() from MacroInvocationExpr and MacroInvocationStmt. 2019-07-22 11:04:30 -07:00
Anders Schack-Mulligen cd8d16183c Java/CPP/C#: Sync dataflow. 2019-07-22 15:41:37 +02:00
Geoffrey White d39d9bf1f0 CPP: Workaround FPs. 2019-07-22 11:48:25 +01:00
Geoffrey White 185ca590f2 CPP: Test exposing UseInOwnInitializer FPs. 2019-07-22 11:34:01 +01:00
Ziemowit Laski dbf655253f Get rid of tabs. 2019-07-19 17:01:34 -07:00
Ziemowit Laski a0570213d7 [CPP-386] Separate printing of casts and conversion, per Dave's request. 2019-07-19 16:56:22 -07:00
Dave Bartolomeo 8456bdd6eb C++: Move IR files that are now pyrameterized into `implementation`. 2019-07-19 15:37:45 -07:00
Dave Bartolomeo 832807401b C++: Move imports from instantiated pyrameterized modules into separate file
Rather than have IR.qll (which depends on the flavor) import EdgeKind.qll (which does not) with an non-relative import, I've moved these imports into internal.IRImports relative to IR.qll. These imports files can be shared across flavors within one language, but are different between C# and C++ due to the difference in paths.
2019-07-19 13:09:36 -07:00
Dave Bartolomeo ac6e0cedaf
Merge pull request #1614 from rdmarsh2/rdmarsh/cpp/ir-overlap-speedup
C++: further optimization of overlap computation
2019-07-18 19:48:59 -07:00
Ziemowit Laski 45d944411f [CPP-386] Fix Local{Class,Struct,Union}, macro invocations,
printing of member functions and operators.
2019-07-18 16:09:04 -07:00
Robert Marsh 2f27c1c2f5 C++: further optimization of overlap computation 2019-07-18 14:57:48 -07:00
Dave Bartolomeo 8d8c66fc49 C++: Delete unused file ValueCategory.qll 2019-07-18 13:55:34 -07:00
Dave Bartolomeo add1702bf6 C++: Fix test breaks due to private imports of `cpp` 2019-07-18 12:29:41 -07:00
Dave Bartolomeo 5d1d082a4f C++: Pull a bunch of language-dependent code that the IR depends on out into a separate module 2019-07-17 17:05:06 -07:00
Dave Bartolomeo 1fdce43484
Merge pull request #1587 from rdmarsh2/rdmarsh/cpp/ir-overlap-speedup
C++: improve performance of overlap computation
2019-07-17 16:54:41 -07:00
Ziemowit Laski 926742561b [CPP-340] Eliminate superfluous print-outs of `NestedStruct`,
`NestedUnion` and `MemberFunction`
2019-07-17 13:39:43 -07:00
Geoffrey White 48a60651b6 CPP: Fix query. 2019-07-17 11:43:05 +01:00
Geoffrey White aa368d8763 CPP: Add test cases. 2019-07-17 11:38:59 +01:00
Ziemowit Laski f0982791e3 [CPP-340] Remove colons and extraenous QLDoc comments; add a few more classes. 2019-07-16 17:58:39 -07:00
Dave Bartolomeo e58df94672 Remove unnecessary dependencies on `cpp` 2019-07-16 15:10:46 -07:00
Dave Bartolomeo 60b3ffe3d5 Make all imports of `cpp` private 2019-07-16 15:02:26 -07:00
zlaski-semmle 6764390970
Merge pull request #1586 from geoffw0/norm-taint-test
CPP: Normalize the taint tests
2019-07-16 11:49:42 -07:00
Robert Marsh 1f17cfb8ad C++: add comments and private annotations 2019-07-15 14:47:21 -07:00
Robert Marsh 86a018b0b4 C++: overlapping def/use must share IRVariable 2019-07-15 10:35:57 -07:00
Robert Marsh 20e67eb37a C++: improve performance of overlap computation
This is still quadratic in the number of MemoryLocations for a vvar, but
only for a single pipeline step, which is not materialized. It seems to be
fast enough in practice for the IR.
2019-07-15 10:15:58 -07:00
Geoffrey White cf194219b9 CPP: Fix FPs. 2019-07-15 14:58:35 +01:00
Geoffrey White 5362fef81c CPP: Additional AllocaInLoop test cases. 2019-07-15 14:50:02 +01:00
Ziemowit Laski c906560edd Fix up expected IR output after rebase. 2019-07-13 12:57:25 -07:00
Ziemowit Laski 960a41be85 Handle `__builtin_addressof`. 2019-07-13 12:23:40 -07:00
Ziemowit Laski 175ba7b3b0 Fix up .expected on the IR side. 2019-07-13 12:23:40 -07:00
Ziemowit Laski 2637c22732 Fix up .expected file. 2019-07-13 12:23:40 -07:00
Ziemowit Laski 2459d2ab92 Reformat PrintAST.qll ONLY. 2019-07-13 12:23:40 -07:00
Ziemowit Laski 49b0fc0a57 [CPP-386] A few more QL classes. 2019-07-13 12:23:40 -07:00
Ziemowit Laski ab82aebbd7 [CPP-386] Add `override` keyword as needed; annotate a few more classes. 2019-07-13 12:23:40 -07:00
Ziemowit Laski e5fc07660d [CPP-386] Print QL AST classes next to elements in PrintAST trees. 2019-07-13 12:23:09 -07:00
Ziemowit Laski ddb0fd90e9 [CPP-386] Provide `getCanonicalQLClass()` predicate for many AST elements. 2019-07-13 12:19:40 -07:00
Ziemowit Laski a4affbebbf [CPP-386] Add ElementBase::getCanonicalQLClass(). 2019-07-13 12:19:40 -07:00
Robert Marsh 41e46f6686
Merge pull request #1584 from geoffw0/swap
CPP: Model std::swap
2019-07-12 10:41:14 -07:00
Geoffrey White a9b953f89a CPP: Flip test output for consistency and easy comparison with the other tests. 2019-07-12 18:18:08 +01:00
Geoffrey White c2fd2e273e CPP: Model taint flow through std::swap. 2019-07-12 18:00:39 +01:00