[cfe-commits] r102921 - in /cfe/trunk: lib/CodeGen/CGExprAgg.cpp lib/CodeGen/CGExprConstant.cpp test/CodeGenCXX/member-function-pointers.cpp
Douglas Gregor
dgregor at apple.com
Mon May 3 09:45:35 PDT 2010
On May 3, 2010, at 9:16 AM, Anders Carlsson wrote:
>
> 3 maj 2010 kl. 09.14 skrev Douglas Gregor:
>
>>
>> On May 3, 2010, at 9:05 AM, Anders Carlsson wrote:
>>
>>> Author: andersca
>>> Date: Mon May 3 11:05:06 2010
>>> New Revision: 102921
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=102921&view=rev
>>> Log:
>>> When computing the address of a virtual member function pointer, use the pointer width instead of hardcoding for 64-bit.
>>>
>>> Modified:
>>> cfe/trunk/lib/CodeGen/CGExprAgg.cpp
>>> cfe/trunk/lib/CodeGen/CGExprConstant.cpp
>>> cfe/trunk/test/CodeGenCXX/member-function-pointers.cpp
>>>
>>> Modified: cfe/trunk/lib/CodeGen/CGExprAgg.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGExprAgg.cpp?rev=102921&r1=102920&r2=102921&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/CodeGen/CGExprAgg.cpp (original)
>>> +++ cfe/trunk/lib/CodeGen/CGExprAgg.cpp Mon May 3 11:05:06 2010
>>> @@ -335,11 +335,16 @@
>>> if (MD->isVirtual()) {
>>> int64_t Index = CGF.CGM.getVTables().getMethodVTableIndex(MD);
>>>
>>> + // FIXME: We shouldn't use / 8 here.
>>> + uint64_t PointerWidthInBytes =
>>> + CGF.CGM.getContext().Target.getPointerWidth(0) / 8;
>>> +
>>
>> Use ASTContext::getCharWidth()?
>>
>
> Ideally I'd like to have a getPointerWidth that returns the size in CharUnits.
Makes sense.
- Doug
More information about the cfe-commits
mailing list