[llvm-commits] [llvm] r134577 - in /llvm/trunk: include/llvm/Target/TargetAsmInfo.h include/llvm/Target/TargetFrameLowering.h lib/MC/MCDwarf.cpp lib/Target/TargetAsmInfo.cpp lib/Target/X86/X86FrameLowering.cpp lib/Target/X86/X86FrameLowering.h

Chris Lattner clattner at apple.com
Thu Jul 7 13:54:55 PDT 2011


It looks like exactly the same error.  I'll be more specific.  Please move the method at TargetAsmInfo.h:89 out of line and forward declare the dwarf stuff and ArrayRef.

-Chris

On Jul 7, 2011, at 1:48 PM, Bill Wendling wrote:

> Sorry. I'm trying to say that moving the method body out of line results in the same error, just in a different place.
> 
> -bw
> 
> On Jul 7, 2011, at 1:37 PM, Chris Lattner wrote:
> 
>> What are you trying to say here?
>> 
>> -Chris
>> 
>> 
>> On Jul 7, 2011, at 10:57 AM, Bill Wendling wrote:
>> 
>>> 
>>> n Jul 7, 2011, at 10:08 AM, Chris Lattner wrote:
>>> 
>>>> On Jul 6, 2011, at 9:40 PM, Bill Wendling wrote:
>>>>>>> @@ -189,6 +190,14 @@
>>>>>>> ///
>>>>>>> virtual void processFunctionBeforeFrameFinalized(MachineFunction &MF) const {
>>>>>>> }
>>>>>>> +
>>>>>>> +  /// getCompactUnwindEncoding - Get the compact unwind encoding for the
>>>>>>> +  /// function. Return 0 if the compact unwind isn't available.
>>>>>>> +  virtual uint32_t getCompactUnwindEncoding(const std::vector<MCCFIInstruction>&,
>>>>>>> +                                            int /*DataAlignmentFactor*/,
>>>>>>> +                                            bool /*IsEH*/) const {
>>>>>> 
>>>>>> Please put names on these arguments like other stuff in this file.  Instead of taking a const vector, should this take an ArrayRef?
>>>>>> 
>>>>> Okay. Then I had to have the #include "llvm/MC/MCDwarf.h" in there or I get these errors:
>>>>> /Users/void/llvm/llvm.src/include/llvm/Target/TargetAsmInfo.h:89:42: note: in instantiation of member function
>>>>>  'llvm::ArrayRef<llvm::MCCFIInstruction>::ArrayRef' requested here
>>>>> return TFI->getCompactUnwindEncoding(Instrs, DataAlignmentFactor, IsEH);
>>>>>                                     ^
>>>> 
>>>> Please move the method body out of line.  Also, please forward declare ArrayRef too.
>>>> 
>>> In file included from /Volumes/Sandbox/llvm/llvm.src/lib/Target/TargetAsmInfo.cpp:10:
>>> In file included from /Volumes/Sandbox/llvm/llvm.src/include/llvm/Target/TargetAsmInfo.h:19:
>>> In file included from /Volumes/Sandbox/llvm/llvm.src/include/llvm/Target/TargetFrameLowering.h:17:
>>> In file included from /Volumes/Sandbox/llvm/llvm.src/include/llvm/CodeGen/MachineBasicBlock.h:17:
>>> In file included from /Volumes/Sandbox/llvm/llvm.src/include/llvm/CodeGen/MachineInstr.h:28:
>>> In file included from /usr/include/c++/4.2.1/vector:69:
>>> /usr/include/c++/4.2.1/bits/stl_vector.h:493:41: error: arithmetic on a pointer to an incomplete type 'llvm::MCCFIInstruction'
>>>    { return *(this->_M_impl._M_start + __n); }
>>>               ~~~~~~~~~~~~~~~~~~~~~~ ^
>>> /Volumes/Sandbox/llvm/llvm.src/include/llvm/ADT/ArrayRef.h:65:37: note: in instantiation of member function 'std::vector<llvm::MCCFIInstruction, std::allocator<llvm::MCCFIInstruction> >::operator[]' requested
>>>    here
>>>    : Data(Vec.empty() ? (T*)0 : &Vec[0]), Length(Vec.size()) {}
>>>                                  ^
>>> /Volumes/Sandbox/llvm/llvm.src/include/llvm/Target/TargetAsmInfo.h:89:42: note: in instantiation of member function 'llvm::ArrayRef<llvm::MCCFIInstruction>::ArrayRef' requested here
>>>  return TFI->getCompactUnwindEncoding(Instrs, DataAlignmentFactor, IsEH);
>>>                                       ^
>>> /Volumes/Sandbox/llvm/llvm.src/include/llvm/Target/TargetFrameLowering.h:24:9: note: forward declaration of 'llvm::MCCFIInstruction'
>>> class MCCFIInstruction;
>>>      ^
>>> 
>>> 
>>> -bw
>>> 
>> 
> 




More information about the llvm-commits mailing list