Mercurial > sdl-ios-xcode
view src/main/symbian/EKA2/vectorbuffer.cpp @ 4102:328a3f973890 SDL-1.2
Date: Thu, 15 Nov 2007 10:33:01 +0100
From: "Marco Lopes"
Subject: Compiling with Intel compiler fails
I~Rve recently bought the Intel Compiler 10 for another project and decided
to compile SDL with it as well.
I was very surprised when it failed to compile because of the function:
Error 5 error: label "endS16" was referenced but not
defined ..\..\src\audio\SDL_mixer_MMX_VC.c
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Fri, 28 Dec 2007 18:07:59 +0000 |
parents | e85e65aec22f |
children |
line wrap: on
line source
/* vectorbuffer.cpp yet another circle buffer Markus Mertama */ #include"vectorbuffer.h" void VectorPanic(TInt aErr, TInt aLine) { TBuf<64> b; b.Format(_L("vector buffer at % d "), aLine); User::Panic(b, aErr); } void TNodeBuffer::TNode::Terminator(TNodeBuffer::TNode* aNode) { Mem::Copy(iSucc, &aNode, sizeof(TNode*)); } TInt TNodeBuffer::TNode::Size() const { return reinterpret_cast<const TUint8*>(iSucc) - Ptr(); } const TUint8* TNodeBuffer::TNode::Ptr() const { return reinterpret_cast<const TUint8*>(this) + sizeof(TNode); } TNodeBuffer::TNode* TNodeBuffer::TNode::Empty(TUint8* aBuffer) { TNode* node = reinterpret_cast<TNode*>(aBuffer); node->iSucc = node + 1; return node; } TNodeBuffer::TNode* TNodeBuffer::TNode::New(TNode* aPred, const TDesC8& aData) { TNode* node = aPred->Size() == 0 ? aPred : aPred->iSucc; TUint8* start = reinterpret_cast<TUint8*>(node) + sizeof(TNode); node->iSucc = reinterpret_cast<TNode*>(start + aData.Size()); node->iSucc->iSucc = NULL; //terminator __ASSERT_DEBUG(node->Size() == aData.Size(), VECPANIC(KErrCorrupt)); Mem::Copy(start, aData.Ptr(), aData.Size()); return node; }