Commit Graph

41418 Commits

Author SHA1 Message Date
Jonas Jensen
d378da33e8 C++ IR: Fix performance of large array value init
There were two problems here.

1. The inline predicates `isInitialized` and `isValueInitialized` on
   `ArrayAggregateLiteral` caused their callers to materialize every
   `int` that was a valid index into the array. This was slow on huge
   value-initialized arrays.
2. The `isInitialized` predicate was used in the `TInstructionTag` IPA
   type, creating a numbered tuple for each integer in it. This seemed
   to be entirely unnecessary since the `TranslatedElement`s using those
   tags were already indexed appropriately.
2019-08-06 14:50:57 +02:00
Jonas Jensen
f160447c20 C++: Update test results to latest master 2019-08-06 14:42:47 +02:00
Geoffrey White
73736675ce CPP: Bits and bobs. 2019-08-06 13:32:04 +01:00
Geoffrey White
ab823f45fc CPP: class, struct or union where appropriate. 2019-08-06 13:32:04 +01:00
Geoffrey White
8d22eb87f0 CPP: Improvements to qldoc. 2019-08-06 13:29:42 +01:00
Geoffrey White
4dd1267d6d CPP: Bracket consistency. 2019-08-06 13:29:42 +01:00
Geoffrey White
cf1869cfaa CPP: Indentation. 2019-08-06 13:29:42 +01:00
Geoffrey White
0029a33ee6 CPP: Deprecate Interface and remove the test. 2019-08-06 13:29:42 +01:00
Geoffrey White
49f6ac7358 CPP: Clean up Class, ClassDerivation and ClassTemplateSpecialization QLDoc. 2019-08-06 13:29:42 +01:00
Geoffrey White
2b408490a1 CPP: Implement simple changes. 2019-08-06 13:29:42 +01:00
Geoffrey White
99880bc4ea CPP: Add syntax examples for Class.qll. 2019-08-06 13:29:42 +01:00
Felicity Chapman
119f458b50 Move support topics into 'support' directory 2019-08-06 13:10:37 +01:00
Jonas Jensen
d0d6b2b70c C++: Add IR sanity queries to syntax-zoo test dir 2019-08-06 14:10:25 +02:00
Jonas Jensen
d18181f032 C++: Rename qlcfg -> syntax-zoo 2019-08-06 14:10:25 +02:00
Felicity Chapman
725fab099e Remove include files for support topics 2019-08-06 13:09:04 +01:00
Felicity Chapman
0b06cb866b Merge pull request #1703 from mgrettondann/fix-bar-unicode-codepoint-typo
Docs: Correct Unicode Codepoint for '|'
2019-08-06 12:47:41 +01:00
Jonas Jensen
4dfd4f1dda Merge pull request #1674 from dave-bartolomeo/dave/ExternDecls2
C++: Two IR fixes and a PrintAST workaround
2019-08-06 13:46:04 +02:00
Matthew Gretton-Dann
5667d369b5 Docs: Correct Unicode Codepoint for '|' 2019-08-06 12:36:44 +01:00
Matthew Gretton-Dann
90cfde53b3 C++: Add thread_local support - typo fix 2019-08-06 12:09:43 +01:00
semmle-qlci
77eac2c980 Merge pull request #1687 from esben-semmle/js/hide-conflicting-html-attribute
Approved by xiemaisi
2019-08-06 11:38:33 +01:00
semmle-qlci
5de6da4ee4 Merge pull request #1697 from esben-semmle/js/fix-missing-this-in-method
Approved by xiemaisi
2019-08-06 11:38:11 +01:00
Matthew Gretton-Dann
0e50a143af C++: Improve ReturnStackAllocatedMemory query
Update the ReturnStackAllocatedMmeory query to not give a false positive
for thread_local variables.
2019-08-06 11:22:32 +01:00
Matthew Gretton-Dann
a733625646 C++: Add Variable.isThreadLocal() 2019-08-06 11:22:26 +01:00
Geoffrey White
de9b936d76 QLDoc tidy up Declaration.qll
Mostly just adding backticks in QLDoc comments.  I'm trying out the edit-in-github workflow @jbj showed me, which seems like it will be a quicker way to do minor changes like these.
2019-08-06 10:54:20 +01:00
Tom Hvitved
4774bc969a C#: Apply static CFG splitting limit
The predicate `maxSplits()` was previously applied dynamically to ensure that
any control flow node would keep track of at most `maxSplits()` number of splits.
However, there was no guarantee that two different copies of the same AST element
wouldn't contain different splits, so in general the number of copies for a given
AST element `e` could be on the order `$\binom{n}{k}c^k$`, where `n` is the total
number of splits that apply to `e`, `k = maxSplits()`, and `c` is a constant.

With this change, the relevant splits for `e` are instead computed statically,
meaning that the order is instead `$c^k$`.
2019-08-06 11:38:03 +02:00
james
f34fbd72c5 docs: hide nav bar in print view 2019-08-06 10:30:27 +01:00
Calum Grant
2df05090b5 Merge pull request #1685 from hvitved/csharp/dataflow/out-flow-fix
C#: Fix data flow for `out`/`ref` parameters
2019-08-06 09:31:17 +01:00
james
cded4a563f docs: a few slide updates 2019-08-06 09:29:52 +01:00
james
f3c0af19f6 docs: tweak css to improve reponsive behaviour 2019-08-06 09:29:52 +01:00
Felicity Chapman
3e987732c1 Merge pull request #1698 from jf205/links
Docs: Update ql training homepage
2019-08-06 08:56:43 +01:00
james
6a75d64f87 docs: link update 2019-08-06 08:48:31 +01:00
semmle-qlci
0089ad471b Merge pull request #1696 from xiemaisi/js/ql4ql-fixes
Approved by asger-semmle
2019-08-06 08:06:06 +01:00
yh-semmle
9e4405f385 Merge pull request #1688 from aschackmull/java-cookbook/int-literal-value
Java Cookbook: Slight improvement to the IntegerLiteral pattern.
2019-08-05 20:37:58 -04:00
Rebecca Valentine
5fdf6a8e11 Merge pull request #1640 from markshannon/python-update-all-taint-tracking-to-use-config
Python: Update all remaining taint-tracking queries to use configurations
2019-08-05 14:30:30 -07:00
Rebecca Valentine
9d2061b439 Merge pull request #1669 from markshannon/python-better-handling-unknown-decorators
Python: Treat the result of calling a missing module member as 'unknown'.
2019-08-05 14:30:00 -07:00
Ziemowit Laski
f734d7e281 [CPP-387] Incremental progress. 2019-08-05 13:22:20 -07:00
yh-semmle
7e90728c67 Merge pull request #1679 from aschackmull/java/reader-taint
Java: Adjust taint steps for Reader::read.
2019-08-05 12:46:12 -04:00
james
62fb745eac docs: address review comments 2019-08-05 15:58:00 +01:00
Max Schaefer
5026a55c25 JavaScript: Fix a Cartesian product. 2019-08-05 15:42:20 +01:00
Max Schaefer
d230921b89 JavaScript: Remove two unused fields. 2019-08-05 15:41:55 +01:00
james
1f076efd5e docs: fix select clause section 2019-08-05 15:40:41 +01:00
james
7ec2c05796 docs: address review comments and fix a few other things 2019-08-05 15:40:41 +01:00
james
0ebc396ed1 docs: expand contributing a query information 2019-08-05 15:40:40 +01:00
Anders Schack-Mulligen
a80cb262fc Java/C++/C#: Elaborate qldoc. 2019-08-05 16:28:25 +02:00
Anders Schack-Mulligen
9ebb83497d Java/C++/C#: Fix small mistake. 2019-08-05 15:34:12 +02:00
Esben Sparre Andreasen
bc2785d143 JS: add missing binding for this in BuiltinServiceCall 2019-08-05 14:10:21 +02:00
Esben Sparre Andreasen
bc296e74a1 JS: generalize internal AngularJS::BuiltinServiceCall to handle calls 2019-08-05 13:59:48 +02:00
Esben Sparre Andreasen
a652f754ee JS: rename internal AngularJS::ServiceMethodCall 2019-08-05 13:56:49 +02:00
Anders Schack-Mulligen
2dc83c539c Java/C++/C#: Sync dataflow. 2019-08-05 12:07:32 +02:00
semmle-qlci
f60af2cfba Merge pull request #1683 from asger-semmle/type-tracking-non-exp
Approved by xiemaisi
2019-08-05 11:06:53 +01:00