Skip to content
Snippets Groups Projects
Commit 5b50d652 authored by Julian Seward's avatar Julian Seward
Browse files

[project @ 1999-02-18 13:00:27 by sewardj]

Make decoding of RtsFlags.DebugFlags work on big-endian architectures.
parent e58d0e9b
No related merge requests found
/* -----------------------------------------------------------------------------
* $Id: RtsFlags.c,v 1.10 1999/02/18 12:21:07 simonm Exp $
* $Id: RtsFlags.c,v 1.11 1999/02/18 13:00:27 sewardj Exp $
*
* (c) The AQUA Project, Glasgow University, 1994-1997
* (c) The GHC Team, 1998-1999
......@@ -444,7 +444,18 @@ error = rtsTrue;
#ifdef DEBUG
case 'D':
/* hack warning: interpret the flags as a binary number */
*(int*)(&RtsFlags.DebugFlags) = decode(rts_argv[arg]+2);
{
I_ n = decode(rts_argv[arg]+2);
if (n &1) RtsFlags.DebugFlags.scheduler = rtsTrue;
if ((n>>1)&1) RtsFlags.DebugFlags.evaluator = rtsTrue;
if ((n>>2)&1) RtsFlags.DebugFlags.codegen = rtsTrue;
if ((n>>3)&1) RtsFlags.DebugFlags.weak = rtsTrue;
if ((n>>4)&1) RtsFlags.DebugFlags.gccafs = rtsTrue;
if ((n>>5)&1) RtsFlags.DebugFlags.gc = rtsTrue;
if ((n>>6)&1) RtsFlags.DebugFlags.block_alloc = rtsTrue;
if ((n>>7)&1) RtsFlags.DebugFlags.sanity = rtsTrue;
if ((n>>8)&1) RtsFlags.DebugFlags.stable = rtsTrue;
}
break;
#endif
......
/* -----------------------------------------------------------------------------
* $Id: RtsFlags.h,v 1.9 1999/02/05 16:02:50 simonm Exp $
* $Id: RtsFlags.h,v 1.10 1999/02/18 13:00:28 sewardj Exp $
*
* (c) The GHC Team, 1998-1999
*
......@@ -39,7 +39,9 @@ struct GC_FLAGS {
};
/* Hack: this struct uses bitfields so that we can use a binary arg
* with the -D flag
* with the -D flag.
* Remember to update the corresponding bit of RtsFlags.c if you
* change/extend this struct.
*/
struct DEBUG_FLAGS {
/* flags to control debugging output in various subsystems */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment