[LLVMdev] ThisCall / Compilation problems
Reid Spencer
rspencer at reidspencer.com
Thu Dec 14 16:46:44 PST 2006
Hi David,
On Fri, 2006-12-15 at 12:59 +1300, David Shipman wrote:
> Hi all,
>
> A few things.
> Firstly, I've got a working implementation of the X86ThisCall calling
> convention, but I'm unsure how to go about submitting it.
> (I'm not really sure how to go about creating patch files etc, but
> would like to contribute to the project).
Just run:
utils/mkpatch ThisCall
It will produce ThisCall.patch which you can submit to llvm-commits.
> Also, I'm using MS Visual C++ Express, and there are a few things that
> stop llvm1.9 (and the current CVS release) from compiling
> correctly - once again, not sure how to submit, but here are the main
> things -
>
> In SelectionDAGNodes.h
>
> StoreSDNode(SDOperand Chain, SDOperand Value, SDOperand Ptr,
> SDOperand Off,
> ISD::MemOpAddrMode AM, bool isTrunc, MVT::ValueType SVT,
> const Value *SV, int O=0, unsigned Align=0, bool
> Vol=false)
>
> SDOperand Value should really be SDOperand value (lower case), since
> Value is already a defined classname.
> Not sure if this is really a 'bug', but it does cause errors in some
> compilers.
Yeah, its a bug in MS Visual C++ Express :)
But, we'll take the patch to work around it. Again, just use mkpatch.
>
> Regarding the new stream wrappers in the current CVS version (in
> Support/Streams.h)
> A lot of errors in VC++ Express (not sure about other MSVC versions).
>
> Adding
>
> #ifdef _MSC_VER
> #include <iostream>
> #endif
>
> to Streams.h seems to remedy this, but presumably causes the same
> problems the new Stream model was intended
> to fix.
Yes, it would. We're unlikely to accept that patch. Is there another way
to work around it?
>
> In Target\TargetInstrInfo.h
>
> virtual const TargetRegisterClass *getPointerRegClass() const {
> assert(0 && "Target didn't implement getPointerRegClass!");
> abort();
> }
>
> causes an error (non void funcs must return a value). Add return(NULL)
> to fix.
Okay.
>
> Other than that, the MSVC projects reference a few old (deleted)
> files, but no more code changes are necessary.
We'd welcome the updates to keep things compiling.
>
> Thanks,
> David Shipman
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list