David Blaikie
65cc969f50
DIEHash: Summary hashing of nested types
...
llvm-svn: 193427
2013-10-25 18:38:43 +00:00
David Blaikie
2aee7be871
DIEHash: Const correct and use references where non-null/non-rebound.
...
llvm-svn: 193363
2013-10-24 18:29:03 +00:00
David Blaikie
32744412d2
DIEHash: Do not use shallow type hashing for unnamed types
...
llvm-svn: 193361
2013-10-24 17:53:58 +00:00
David Blaikie
d70a055394
DWARF type hashing: pointers to members
...
Includes a test case/FIXME demonstrating a bug/limitation in pointer to
member hashing. To be honest I'm not sure why we don't just always use
summary hashing for referenced types... but perhaps I'm missing
something.
llvm-svn: 193175
2013-10-22 18:14:41 +00:00
David Blaikie
fe3233a568
DWARF Type Hashing: Include reference and rvalue reference type in the declarable summary hashing path
...
More support for 7.25 Part 5.
llvm-svn: 193129
2013-10-21 23:06:19 +00:00
David Blaikie
6cf58c8980
DWARF type hashing: begin implementing Step 5, summary hashing in declarable contexts
...
There are several other tag types that need similar handling but to
ensure test coverage they'll be coming incrementally.
llvm-svn: 193126
2013-10-21 22:36:50 +00:00
David Blaikie
6a7a446af4
DIEHashTest: Correct the order of operands to the TEST macro
...
And add the 'Test' suffix so the test case name matches the file name.
llvm-svn: 193119
2013-10-21 20:28:30 +00:00
David Blaikie
980d4994b2
DWARF type hashing: Handle multiple (including recursive) references to the same type
...
This uses a map, keeping the type DIE numbering separate from the DIEs
themselves - alternatively we could do things the way GCC does if we
want to add an integer to the DIE type to record the numbering there.
llvm-svn: 193105
2013-10-21 18:59:40 +00:00
David Blaikie
ca353be652
DIEHash: Support for simple (non-recursive, non-reused) type references
...
llvm-svn: 192924
2013-10-17 22:07:09 +00:00
David Blaikie
8a142aaa01
DIEHash: Include the type's context in the type hash.
...
llvm-svn: 192856
2013-10-17 00:10:34 +00:00
David Blaikie
6316ca45a7
DIEHash: Use DW_FORM_sdata for integers, per spec.
...
This allows us to produce the same hash as GCC for at least some simple
examples.
llvm-svn: 192855
2013-10-16 23:36:20 +00:00
David Blaikie
d398ac561f
Invert arguments to ASSERT_EQ to match gtest diagnostic printing
...
GTest assumes the left hand side of the assert is the expectation and
the right hand side is the test result. It's easier to read gtest
failures when these things are ordered correctly.
llvm-svn: 192854
2013-10-16 22:43:10 +00:00
David Blaikie
71a0ad66a9
DIEHash: Include the trailing zero byte after the children of a DIE
...
llvm-svn: 192836
2013-10-16 20:29:06 +00:00
David Blaikie
5980419379
Use ASSERT_EQ rather than ASSERT_TRUE for better unit test failures.
...
Also minor using namespace move so it's not hard-up against the function
definition and outside the namespace as is usual.
llvm-svn: 192744
2013-10-15 23:00:17 +00:00
Benjamin Kramer
0f01d4e309
Plug a memory leak in a unit test. Stack allocation is sufficient here.
...
llvm-svn: 191638
2013-09-29 11:29:20 +00:00
Eric Christopher
a923e7b78d
It's a very large constant. Say so.
...
llvm-svn: 189899
2013-09-04 00:58:10 +00:00
Eric Christopher
3e6c93189b
Fix copy and pasto with CMake files for unittest.
...
llvm-svn: 189863
2013-09-03 22:08:28 +00:00
Eric Christopher
25b7adc8ce
Add a hashing routine that handles hashing types. Add a test for
...
hashing the contents of DW_FORM_data1 on top of a type with attributes.
llvm-svn: 189862
2013-09-03 21:57:57 +00:00