From eccd471494efbebc1e292fe707dcc2d1e9a2ae56 Mon Sep 17 00:00:00 2001 From: Salikh Zakirov Date: Mon, 9 Oct 2006 17:28:31 +0400 Subject: [PATCH] gcc 4.0.3 ubuntu fixes --- vm/jitrino/src/codegenerator/CodeGenIntfc.h | 2 ++ vm/jitrino/src/jet/cg_meth.cpp | 2 +- vm/jitrino/src/optimizer/reassociate.h | 3 +++ vm/jitrino/src/shared/Dlink.h | 4 ++++ vm/jitrino/src/shared/Stl.h | 11 +++++++++++ 5 files changed, 21 insertions(+), 1 deletions(-) diff --git a/vm/jitrino/src/codegenerator/CodeGenIntfc.h b/vm/jitrino/src/codegenerator/CodeGenIntfc.h index e435829..556c957 100644 --- a/vm/jitrino/src/codegenerator/CodeGenIntfc.h +++ b/vm/jitrino/src/codegenerator/CodeGenIntfc.h @@ -530,8 +530,10 @@ public: class MethodCodeSelector { public: MethodCodeSelector() {} + virtual ~MethodCodeSelector() {} class Callback { public: + virtual ~Callback() {} virtual void genVars(uint32 numLocals,VarCodeSelector&) = 0; virtual void setMethodDesc(MethodDesc * desc) = 0; virtual void genCFG(uint32 numNodes,CFGCodeSelector&,bool useProfile) = 0; diff --git a/vm/jitrino/src/jet/cg_meth.cpp b/vm/jitrino/src/jet/cg_meth.cpp index ec317f9..4f15f0a 100644 --- a/vm/jitrino/src/jet/cg_meth.cpp +++ b/vm/jitrino/src/jet/cg_meth.cpp @@ -442,7 +442,7 @@ #endif Opnd scratch(jt, m_base, voff(m_stack.scratch())); mov(scratch, Opnd(jt, ar)); - jt = jt = flt32 ? i32 : i64; + jt = flt32 ? i32 : i64; var = scratch.as_type(jt); } else { diff --git a/vm/jitrino/src/optimizer/reassociate.h b/vm/jitrino/src/optimizer/reassociate.h index 79fae16..0b0bee4 100644 --- a/vm/jitrino/src/optimizer/reassociate.h +++ b/vm/jitrino/src/optimizer/reassociate.h @@ -60,6 +60,9 @@ bool operator < (const OpndWithPriority // - reduce expression height // - pull loop-invariant subexpressions out // + +class Simplifier; + class Reassociate { IRManager& irManager; MemoryManager &mm; diff --git a/vm/jitrino/src/shared/Dlink.h b/vm/jitrino/src/shared/Dlink.h index eef68b9..48e2c61 100644 --- a/vm/jitrino/src/shared/Dlink.h +++ b/vm/jitrino/src/shared/Dlink.h @@ -33,6 +33,9 @@ public: Dlink() { _next = _prev = this; } + + virtual ~Dlink() {} + // // routines for manipulating double linked list // @@ -98,6 +101,7 @@ class DlinkElem : public Dlink { public: DlinkElem(void* e) : elem(e) {} DlinkElem() {elem = NULL;} + virtual ~DlinkElem() {} DlinkElem* getNext() {return (DlinkElem*)Dlink::getNext();} DlinkElem* getPrev() {return (DlinkElem*)Dlink::getPrev();} void* getElem() {return elem;} diff --git a/vm/jitrino/src/shared/Stl.h b/vm/jitrino/src/shared/Stl.h index f49f601..f9fe421 100644 --- a/vm/jitrino/src/shared/Stl.h +++ b/vm/jitrino/src/shared/Stl.h @@ -123,6 +123,17 @@ class StlMMAllocator void construct(pointer p, const value_type& x) { new (p) value_type(x); } void destroy(pointer p) { p->~value_type(); } + template + void construct(std::pair *p, + const std::pair & pair) { + new (&p->second) value_type(pair.second); + } + + template + void destroy(std::pair *pair) { + pair->second.~value_type(); + } + // Allocator equality tests template bool operator==(const StlMMAllocator& allocator) { return pmm == allocator.pmm; } -- 1.4.1