]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Build fixes for gcc-2.95.
authorJulian Seward <jseward@acm.org>
Sun, 28 Nov 2004 14:25:01 +0000 (14:25 +0000)
committerJulian Seward <jseward@acm.org>
Sun, 28 Nov 2004 14:25:01 +0000 (14:25 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3132

coregrind/vg_translate.c
memcheck/mc_translate.c

index e116ae6d3d2775c9c9bd02781747ea83b1403a0b..84e7bb427f61894bc1ca2b3d62aa5958337eabf5 100644 (file)
@@ -58,11 +58,14 @@ static
 IRBB* vg_SP_update_pass ( IRBB* bb_in, VexGuestLayout* layout, 
                           IRType hWordTy )
 {
-   Int      i, j, minoff_ST, maxoff_ST;
+   Int      i, j, minoff_ST, maxoff_ST, sizeof_SP, offset_SP;
    IRDirty  *dcall, *d;
    IRStmt*  st;
    IRExpr*  e;
    IRArray* descr;
+   IRTemp   curr;
+   IRType   typeof_SP;
+   Long     delta;
 
    /* Set up BB */
    IRBB* bb     = emptyIRBB();
@@ -70,12 +73,12 @@ IRBB* vg_SP_update_pass ( IRBB* bb_in, VexGuestLayout* layout,
    bb->next     = dopyIRExpr(bb_in->next);
    bb->jumpkind = bb_in->jumpkind;
 
-   IRTemp curr  = IRTemp_INVALID;
-   Long   delta = 0;
+   curr  = IRTemp_INVALID;
+   delta = 0;
 
-   Int    sizeof_SP = layout->sizeof_SP;
-   Int    offset_SP = layout->offset_SP;
-   IRType typeof_SP = sizeof_SP==4 ? Ity_I32 : Ity_I64;
+   sizeof_SP = layout->sizeof_SP;
+   offset_SP = layout->offset_SP;
+   typeof_SP = sizeof_SP==4 ? Ity_I32 : Ity_I64;
    vg_assert(sizeof_SP == 4 || sizeof_SP == 8);
 
 #  define IS_ADD(op) (sizeof_SP==4 ? ((op)==Iop_Add32) : ((op)==Iop_Add64))
index 85859edc6b1a33db66ddf994a1c50ff5b90b3eff..492cd3a8b389fa444b6571cfb790acaf12f08b7a 100644 (file)
@@ -406,11 +406,13 @@ static IRAtom* mkImproveOR32 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
 
 static IRAtom* mkPCastTo( MCEnv* mce, IRType dst_ty, IRAtom* vbits ) 
 {
+   IRType  ty;
+   IRAtom* tmp1;
    /* Note, dst_ty is a shadow type, not an original type. */
    /* First of all, collapse vbits down to a single bit. */
    tl_assert(isShadowAtom(mce,vbits));
-   IRType  ty   = typeOfIRExpr(mce->bb->tyenv, vbits);
-   IRAtom* tmp1 = NULL;
+   ty   = typeOfIRExpr(mce->bb->tyenv, vbits);
+   tmp1 = NULL;
    switch (ty) {
       case Ity_I1:
          tmp1 = vbits;
@@ -482,24 +484,29 @@ static void setHelperAnns ( MCEnv* mce, IRDirty* di ) {
 */
 static void complainIfUndefined ( MCEnv* mce, IRAtom* atom )
 {
+   IRAtom*  vatom;
+   IRType   ty;
+   Int      sz;
+   IRDirty* di;
+   IRAtom*  cond;
+
    /* Since the original expression is atomic, there's no duplicated
       work generated by making multiple V-expressions for it.  So we
       don't really care about the possibility that someone else may
       also create a V-interpretion for it. */
    tl_assert(isOriginalAtom(mce, atom));
-   IRAtom* vatom = expr2vbits( mce, atom );
+   vatom = expr2vbits( mce, atom );
    tl_assert(isShadowAtom(mce, vatom));
    tl_assert(sameKindedAtoms(atom, vatom));
 
-   IRType ty = typeOfIRExpr(mce->bb->tyenv, vatom);
+   ty = typeOfIRExpr(mce->bb->tyenv, vatom);
 
    /* sz is only used for constructing the error message */
-   Int    sz = ty==Ity_I1 ? 0 : sizeofIRType(ty);
+   sz = ty==Ity_I1 ? 0 : sizeofIRType(ty);
 
-   IRAtom* cond = mkPCastTo( mce, Ity_I1, vatom );
+   cond = mkPCastTo( mce, Ity_I1, vatom );
    /* cond will be 0 if all defined, and 1 if any not defined. */
 
-   IRDirty* di;
    switch (sz) {
       case 0:
          di = unsafeIRDirty_0_N( 0/*regparms*/, 
@@ -592,6 +599,7 @@ static
 void do_shadow_PUT ( MCEnv* mce,  Int offset, 
                      IRAtom* atom, IRAtom* vatom )
 {
+   IRType ty;
    if (atom) {
       tl_assert(!vatom);
       tl_assert(isOriginalAtom(mce, atom));
@@ -601,7 +609,7 @@ void do_shadow_PUT ( MCEnv* mce,  Int offset,
       tl_assert(isShadowAtom(mce, vatom));
    }
 
-   IRType ty = typeOfIRExpr(mce->bb->tyenv, vatom);
+   ty = typeOfIRExpr(mce->bb->tyenv, vatom);
    tl_assert(ty != Ity_I1);
    if (isAlwaysDefd(mce, offset, sizeofIRType(ty))) {
       /* later: no ... */
@@ -621,12 +629,16 @@ static
 void do_shadow_PUTI ( MCEnv* mce, 
                       IRArray* descr, IRAtom* ix, Int bias, IRAtom* atom )
 {
+   IRAtom* vatom;
+   IRType  ty, tyS;
+   Int     arrSize;;
+
    tl_assert(isOriginalAtom(mce,atom));
-   IRAtom* vatom = expr2vbits( mce, atom );
+   vatom = expr2vbits( mce, atom );
    tl_assert(sameKindedAtoms(atom, vatom));
-   IRType ty   = descr->elemTy;
-   IRType tyS  = shadowType(ty);
-   Int arrSize = descr->nElems * sizeofIRType(ty);
+   ty   = descr->elemTy;
+   tyS  = shadowType(ty);
+   arrSize = descr->nElems * sizeofIRType(ty);
    tl_assert(ty != Ity_I1);
    tl_assert(isOriginalAtom(mce,ix));
    complainIfUndefined(mce,ix);
@@ -753,6 +765,10 @@ static
 IRAtom* expensiveAdd32 ( MCEnv* mce, IRAtom* qaa, IRAtom* qbb, 
                                      IRAtom* aa,  IRAtom* bb )
 {
+   IRAtom *a_min, *b_min, *a_max, *b_max;
+   IRType ty;
+   IROp   opAND, opOR, opXOR, opNOT, opADD;
+
    tl_assert(isShadowAtom(mce,qaa));
    tl_assert(isShadowAtom(mce,qbb));
    tl_assert(isOriginalAtom(mce,aa));
@@ -760,14 +776,12 @@ IRAtom* expensiveAdd32 ( MCEnv* mce, IRAtom* qaa, IRAtom* qbb,
    tl_assert(sameKindedAtoms(qaa,aa));
    tl_assert(sameKindedAtoms(qbb,bb));
 
-   IRType ty  = Ity_I32;
-   IROp opAND = Iop_And32;
-   IROp opOR  = Iop_Or32;
-   IROp opXOR = Iop_Xor32;
-   IROp opNOT = Iop_Not32;
-   IROp opADD = Iop_Add32;
-
-   IRAtom *a_min, *b_min, *a_max, *b_max;
+   ty    = Ity_I32;
+   opAND = Iop_And32;
+   opOR  = Iop_Or32;
+   opXOR = Iop_Xor32;
+   opNOT = Iop_Not32;
+   opADD = Iop_Add32;
 
    // a_min = aa & ~qaa
    a_min = assignNew(mce,ty, 
@@ -1084,10 +1098,12 @@ IRAtom* expr2vbits_LDle ( MCEnv* mce, IRType ty, IRAtom* addr, UInt bias )
    if (bias == 0) {
       addrAct = addr;
    } else {
+      IROp    mkAdd;
+      IRAtom* eBias;
       IRType  tyAddr  = mce->hWordTy;
       tl_assert( tyAddr == Ity_I32 || tyAddr == Ity_I64 );
-      IROp    mkAdd   = tyAddr==Ity_I32 ? Iop_Add32 : Iop_Add64;
-      IRAtom* eBias   = tyAddr==Ity_I32 ? mkU32(bias) : mkU64(bias);
+      mkAdd   = tyAddr==Ity_I32 ? Iop_Add32 : Iop_Add64;
+      eBias   = tyAddr==Ity_I32 ? mkU32(bias) : mkU64(bias);
       addrAct = assignNew(mce, tyAddr, binop(mkAdd, addr, eBias) );
    }
 
@@ -1189,11 +1205,13 @@ IRExpr* expr2vbits ( MCEnv* mce, IRExpr* e )
 static
 IRExpr* zwidenToHostWord ( MCEnv* mce, IRAtom* vatom )
 {
+   IRType ty, tyH;
+
    /* vatom is vbits-value and as such can only have a shadow type. */
    tl_assert(isShadowAtom(mce,vatom));
 
-   IRType ty  = typeOfIRExpr(mce->bb->tyenv, vatom);
-   IRType tyH = mce->hWordTy;
+   ty  = typeOfIRExpr(mce->bb->tyenv, vatom);
+   tyH = mce->hWordTy;
 
    if (tyH == Ity_I32) {
       switch (ty) {
@@ -1266,10 +1284,12 @@ void do_shadow_STle ( MCEnv* mce,
    if (bias == 0) {
       addrAct = addr;
    } else {
+      IROp    mkAdd;
+      IRAtom* eBias;
       IRType  tyAddr  = mce->hWordTy;
       tl_assert( tyAddr == Ity_I32 || tyAddr == Ity_I64 );
-      IROp    mkAdd   = tyAddr==Ity_I32 ? Iop_Add32 : Iop_Add64;
-      IRAtom* eBias   = tyAddr==Ity_I32 ? mkU32(bias) : mkU64(bias);
+      mkAdd   = tyAddr==Ity_I32 ? Iop_Add32 : Iop_Add64;
+      eBias   = tyAddr==Ity_I32 ? mkU32(bias) : mkU64(bias);
       addrAct = assignNew(mce, tyAddr, binop(mkAdd, addr, eBias) );
    }
 
@@ -1310,7 +1330,7 @@ static
 void do_shadow_Dirty ( MCEnv* mce, IRDirty* d )
 {
    Int     i, offset, toDo;
-   IRAtom* src;
+   IRAtom  *src, *here, *curr;
    IRType  tyAddr, tySrc, tyDst;
    IRTemp  dst;
 
@@ -1318,8 +1338,7 @@ void do_shadow_Dirty ( MCEnv* mce, IRDirty* d )
    complainIfUndefined(mce, d->guard);
 
    /* Now round up all inputs and PCast over them. */
-   IRAtom* here;
-   IRAtom* curr = definedOfType(Ity_I32);
+   curr = definedOfType(Ity_I32);
 
    /* Inputs: unmasked args */
    for (i = 0; d->args[i]; i++) {