[LLVMdev] Port to Solaris' Sun Studio 8

Michael Smith Michael.Smith at synopsys.com
Tue Mar 14 15:13:32 PST 2006


Well, line 364 wasn't actually what was holding me up, so it's a bad
example, but the problem's still relevant. Using cast<...>(iter),
dyn_cast<...>(iter), or isa<...>(iter) results in the error messages
mentioned below.

 

________________________________

When compiling LoadValueNumbering.cpp, I get the following errors:

"~/bin/../src/include/llvm/Support/Casting.h", line 51: Error: Could not
find a match for llvm::AllocationInst::classof(const
llvm::ilist_iterator<llvm::Instruction>*).

"~/bin/../src/include/llvm/Support/Casting.h", line 68:     Where: While
instantiating "llvm::isa_impl<llvm::AllocationInst,
llvm::ilist_iterator<llvm::Instruction>>(const
llvm::ilist_iterator<llvm::Instruction>&)".

"~/bin/../src/include/llvm/Support/Casting.h", line 68:     Where:
Instantiated from non-template code.

 

This seems to be linked with line 364 in LoadValueNumbering.cpp, and my
best guess is that the template struct simplify_type in ilist isn't
being picked up for some reason, so classof gets an ilist_iterator as an
argument rather than the object the iterator points to. It happens every
time I try to dyn_cast<...>(I) where I is an ilist_iterator, but in
other cases I got around it by manually retrieving the iterator's value
with dyn_cast<...>(&*I). On line 364 this technique doesn't work.

 

~Michael

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060314/f32e275a/attachment.html>


More information about the llvm-dev mailing list