Hello, Bill> The reason for it: when going to calculate the CFA in LLVM, the > original code was adding an offset of type i32 to a pointer. This is > fine if pointers are 32-bits, but we get an assert if the types are > different. By converting the cfa_offset to a pointer, we get it to be > that size.How do you like the one attached? It seems to be much more clear to fix codegen :) Only slightly tested. If this looks ok to you - I'll commit tomorrow. -- With best regards, Anton Korobeynikov. Faculty of Mathematics & Mechanics, Saint Petersburg State University. -------------- next part -------------- A non-text attachment was scrubbed... Name: dwarf_cfa.diff Type: text/x-patch Size: 1442 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20070823/8cab6c76/attachment.bin>
On 8/22/07, Anton Korobeynikov <asl at math.spbu.ru> wrote:> Hello, Bill > > > The reason for it: when going to calculate the CFA in LLVM, the > > original code was adding an offset of type i32 to a pointer. This is > > fine if pointers are 32-bits, but we get an assert if the types are > > different. By converting the cfa_offset to a pointer, we get it to be > > that size. > How do you like the one attached? It seems to be much more clear to fix > codegen :) Only slightly tested. If this looks ok to you - I'll commit > tomorrow. >Hi Anton, One question, can the offset be >32-bit? If not, then this patch looks good (though I haven't tested it yet). But if the offset can be>32-bit, then we'll have trouble with the offset being truncated inthe front-end... -bw