]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
calling format_message: when passing frameNo == -1, also pass
authorJulian Seward <jseward@acm.org>
Wed, 4 May 2011 09:06:17 +0000 (09:06 +0000)
committerJulian Seward <jseward@acm.org>
Wed, 4 May 2011 09:06:17 +0000 (09:06 +0000)
tid == VG_INVALID_THREADID rather than an uninitialised ThreadId.
Also in format_message, improve precondition assertions for
frameNo and tid.

There's no error in the current code since if frameNo == -1 then
tid is unused, but it caused IBM's BEAM checker to complain.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11723

coregrind/m_debuginfo/debuginfo.c

index 8e431ade61bf08f36d115dffcaa2b3917d8e6f65..52d3c6604402975007c2c592f197288a339b6b1d 100644 (file)
@@ -2665,7 +2665,16 @@ static void format_message ( /*MOD*/XArray* /* of HChar */ dn1,
    UChar* basetag   = "auxwhat"; /* a constant */
    UChar tagL[32], tagR[32], xagL[32], xagR[32];
 
-   vg_assert(frameNo >= -1);
+   if (frameNo < -1) {
+      vg_assert(0); /* Not allowed */
+   }
+   else if (frameNo == -1) {
+      vg_assert(tid == VG_INVALID_THREADID);
+   }
+   else /* (frameNo >= 0) */ {
+      vg_assert(tid != VG_INVALID_THREADID);
+   }
+
    vg_assert(dn1 && dn2);
    vg_assert(described);
    vg_assert(var && var->name);
@@ -3152,7 +3161,8 @@ Bool VG_(get_data_description)(
                                                     var->typeR, offset );
             format_message( dname1, dname2,
                             data_addr, var, offset, residual_offset,
-                            described, -1/*frameNo*/, tid );
+                            described, -1/*frameNo*/,
+                            VG_INVALID_THREADID );
             VG_(deleteXA)( described );
             zterm_XA( dname1 );
             zterm_XA( dname2 );