GitHub PushEvent at 2014-05-07 18:00:20
Repository: clang-mirror
Actor: spurious
Payload: {"shas":[["a66118edead8e28a8d9f166b0583b7ee6f251a8b","05f726f834638679f776bde9b9fcd7e9d7242de5@91177308-0d34-0410-b5e6-96231b3b80d8","PR19562: Fix another temporary node leak in Clang debug info emission\n\nWhile constructing ObjC Interface types we might create the declaration\nof some normal C++ types, thus adding things to the ReplaceMap. Make\nsure we process the ReplaceMap after the ObjC interfaces.\n\nIn theory we know at this point, since we're at the end of the TU, that\nwe won't be upgrading any declarations to definitions, so we could just\nconstruct non-temporary nodes, but that would require extra state in\nCGDebugInfo to conditionalize the creation of declaration nodes which\nseems annoying/more work than is appropriate.\n\ngit-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@208226 91177308-0d34-0410-b5e6-96231b3b80d8","dblaikie",true],["4a90dbdb3ad7ccf94c32a5d563ac7cc42b7f3ffd","204c6129fb4522981507699b83cca44219cb8ebb@91177308-0d34-0410-b5e6-96231b3b80d8","When doing int<->ptr coercion for big-endian, calculate the shift amount correctly.\n\nPreviously we calculated the shift amount based upon DataLayout::getTypeAllocSizeInBits.\nThis will only work for legal types - types such as i24 that are created as part of\nstructs for bitfields will return \"32\" from that function. Change to using\ngetTypeSizeInBits.\n\nIt turns out that AArch64 didn't run across this problem because it always returned\n[1 x i64] as the type for a bitfield, whereas ARM64 returns i64 so goes down this\n(better, but wrong) codepath.\n\ngit-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@208231 91177308-0d34-0410-b5e6-96231b3b80d8","jamesm",true]],"size":2,"ref":"refs/heads/trunk","head":"4a90dbdb3ad7ccf94c32a5d563ac7cc42b7f3ffd"}