[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