Robert Marsh
cb9f1269f9
C++: select example exprs for HashCons portably
...
This makes two changes to how example exprs are selected. Example exprs
are now ordered separately by each piece of the location, rather than by
stringifying their location. Second, UnknownLocations are now ordered
after locations with absolute paths, by using "~" in the lexicographic
comparison of absolute paths. I think this works on both POSIX and
Windows systems, but it's possible I'm missing a way to start an
absolute path with a unicode character.
2018-09-10 12:22:45 -07:00
Robert Marsh
fb8ad9387d
C++: Uniqueness fixes for HashCons
2018-09-10 12:22:45 -07:00
Robert Marsh
166dba288b
C++: accept test output
2018-09-10 12:22:45 -07:00
Robert Marsh
bbafcd9941
C++: typeid and noexcept fixes in HashCons
2018-09-10 12:22:45 -07:00
Robert Marsh
2d098fed98
fix HashCons for typeid of type
2018-09-10 12:22:44 -07:00
Robert Marsh
c42ecfe8f9
C++: Simplify HashCons for new and handle extents
2018-09-10 12:22:44 -07:00
Robert Marsh
9f476e585a
C++: Simplify some code
2018-09-10 12:22:44 -07:00
Robert Marsh
fa9eeea302
C++: remove implicit this handling in HashCons
2018-09-10 12:22:44 -07:00
Robert Marsh
246ae2d7e8
C++: fix performance of argument hash-consing
2018-09-10 12:22:44 -07:00
Robert Marsh
06a3e8fc76
C++: Hashcons for ?:, ExprCall, and weird stuff
2018-09-10 12:22:44 -07:00
Robert Marsh
cfeed30a89
C++: Hashcons tests for ArrayExpr
2018-09-10 12:22:44 -07:00
Robert Marsh
8189798f43
C++: HashCons for throw
2018-09-10 12:22:43 -07:00
Robert Marsh
85cfb0202f
C++: add HashCons for delete expressions
2018-09-10 12:22:43 -07:00
Robert Marsh
752f39b537
C++: initial support for aggregate initializers
2018-09-10 12:22:43 -07:00
Robert Marsh
8f446aa9cc
C++: fix handling of aligned allocators
2018-09-10 12:22:43 -07:00
Robert Marsh
5549b6fcab
C++: HashCons for new, new[], sizeof, alignof
2018-09-10 12:22:43 -07:00
Robert Marsh
fede8d63d4
C++: respond to PR comments
2018-09-10 12:22:43 -07:00
Robert Marsh
e6314c5f35
C++: add support for enums in HashCons
2018-09-10 12:22:43 -07:00
Robert Marsh
91da02bacf
C++: uniqueness fixes for HashCons
2018-09-10 12:22:42 -07:00
Robert Marsh
3a5eb03055
C++: change floating point value in test
2018-09-10 12:22:42 -07:00
Robert Marsh
e0af30a789
C++: clean up commented-out code
2018-09-10 12:22:42 -07:00
Robert Marsh
77c5a8e7bf
C++: support impure binary operations in HashCons
2018-09-10 12:22:42 -07:00
Robert Marsh
b8bd285d64
C++: support functions in HashCons
2018-09-10 12:22:42 -07:00
Robert Marsh
a8895f4bed
C++: Support crement ops in HashCons
2018-09-10 12:22:42 -07:00
Robert Marsh
cf222c51ac
C++: treat constant-valued exprs structurally
2018-09-10 12:22:42 -07:00
Robert Marsh
d8dc75abf4
C++: rename HashCons test
2018-09-10 12:22:41 -07:00
Robert Marsh
8b8ec7c5aa
C++: add literal tests
2018-09-10 12:22:41 -07:00
Robert Marsh
3c6a9c08a2
C++: first tests for HashCons
2018-09-10 12:22:41 -07:00
Kevin Backhouse
2d7109b8f5
C++: initial implementation of a HashCons library.
2018-09-10 12:22:41 -07:00
Nick Rolfe
ab05be7b13
C++: update stats for builtin_addressof and vec_fill
2018-09-10 10:19:20 +01:00
Jonas Jensen
6bfbd21390
Merge pull request #159 from ian-semmle/EnumConstant
...
C++: Fix spurious extra qualified names for enum constants within a class
2018-09-08 14:55:33 +02:00
Nick Rolfe
2abf91b6ab
C++: class and test for clang's __builtin_addressof
2018-09-07 12:35:12 +01:00
Nick Rolfe
93103e1042
C++: add class and test for a GNU vector fill operation
2018-09-07 12:07:28 +01:00
Nick Rolfe
8e3f63954c
C++: add dbscheme expr kinds for __builtin_addressof and vector fill
2018-09-07 12:06:44 +01:00
Jonas Jensen
4d8a6e586f
Merge pull request #156 from geoffw0/empty-file
...
C++: Remove empty files.
2018-09-06 20:42:43 +02:00
semmle-qlci
10329fa188
Merge pull request #134 from jbj/getOperandMemoryAccess-this
...
Approved by dave-bartolomeo
2018-09-06 09:18:57 +01:00
Jonas Jensen
69e915639d
Merge branch 'master-to-next-20180905-master' into master-to-next-20180905
2018-09-05 21:08:06 +02:00
Jonas Jensen
d5e0357201
Revert "Revert "Version: Bump to 1.19.0 dev.""
...
This reverts commit ab2bec743a .
2018-09-05 21:07:19 +02:00
Aditya Sharad
f27945216f
Merge rc/1.18 into master.
2018-09-05 15:32:30 +01:00
semmle-qlci
43e1e62d3a
Merge pull request #133 from jbj/IRBlock-number-split
...
Approved by dave-bartolomeo
2018-09-05 14:58:15 +01:00
Aditya Sharad
cbdbda3723
Merge rc/1.18 into next.
2018-09-05 14:09:06 +01:00
semmle-qlci
a70526f79f
Merge pull request #123 from jbj/primitive-bb-number-split
...
Approved by dave-bartolomeo
2018-09-05 13:21:14 +01:00
Ian Lynagh
ca082be371
C++: Fix spurious extra qualified names for enum constants within a class
2018-09-05 12:29:43 +01:00
Ian Lynagh
c204ec3a8f
C++: Enhance qualifiers/class-enum test
2018-09-05 12:28:57 +01:00
Jonas Jensen
e0c073360b
C++: Remove CP in getOperandMemoryAccess
...
The overrides of `Instruction.getOperandMemoryAccess` did not relate
`this` to any of its other parameters, which made it attempt to compute
the Cartesian product of `Instruction` and `TPhiOperand`. This happened
only during computation of aliased SSA. Perhaps the optimizer was able
to eliminate the CP for the non-aliased SSA computation.
With this change, I'm able to compute aliased SSA for medium-sized
snapshots.
2018-09-05 08:52:39 +02:00
Jonas Jensen
5541b9fbf1
C++: Split IRBlock index from IRBlock membership
...
Instead of computing these two things in one predicate, they are
computed in separate predicates and then joined. This splits the
predicate `getInstruction`, which took 81s before, into predicates that
together take 20s on a medium-sized db.
2018-09-05 08:50:36 +02:00
Jonas Jensen
1bcae97447
Merge pull request #114 from geoffw0/samate-realloc
...
CPP: Handle 'realloc' better in MemoryMayNotBeFreed.ql
2018-09-05 08:35:13 +02:00
semmle-qlci
2d4f664be8
Merge pull request #157 from ian-semmle/declarationName
...
Approved by jbj
2018-09-04 23:08:27 +01:00
Nick Rolfe
ccceef30e6
Merge pull request #155 from adityasharad/revert/master/version-1.19.0
...
Revert "Version: Bump to 1.19.0 dev."
2018-09-04 21:16:43 +01:00
Jonas Jensen
43704e2f0d
Merge pull request #144 from ian-semmle/topLevel2
...
C++: Improve GlobalNamespace.getADeclaration()
2018-09-04 20:22:22 +02:00