63 lines
1.1 KiB
C
63 lines
1.1 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 2000 Microsoft Corporation. All rights reserved.
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
TunePrefix.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This module includes tuning macros intended for use with PREfix.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Tim Fleehart [timf] 20000215
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
#ifndef _TUNEPREFIX_H_INCLUDED_
|
||
|
# define _TUNEPREFIX_H_INCLUDED_
|
||
|
|
||
|
# ifdef _PREFIX_
|
||
|
|
||
|
//
|
||
|
// The PREfix parser defines _PREFIX_, this allows us to create some tuning
|
||
|
// macros.
|
||
|
//
|
||
|
// PREfixExit will be hooked by the PREfix simulator as an "exit_function"
|
||
|
// so we won't continue simulation on a path past this function.
|
||
|
//
|
||
|
|
||
|
__inline
|
||
|
void
|
||
|
PREfixExit(
|
||
|
void
|
||
|
)
|
||
|
{
|
||
|
;
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// reason should be a quoted string that explains why the condition can't
|
||
|
// happen as an aid to code-reading.
|
||
|
//
|
||
|
|
||
|
# define PREFIX_ASSUME(condition, reason) \
|
||
|
{ if (!(condition)) { PREfixExit(); } }
|
||
|
|
||
|
# define PREFIX_NOT_REACHED(reason) PREfixExit()
|
||
|
|
||
|
# else
|
||
|
|
||
|
// PREFIX_* tuning macros should have no effect when _PREFIX_ isn't
|
||
|
// already defined.
|
||
|
|
||
|
# define PREFIX_ASSUME(condition, reason)
|
||
|
# define PREFIX_NOT_REACHED(reason)
|
||
|
|
||
|
# endif
|
||
|
|
||
|
#endif // _TUNEPREFIX_H_INCLUDED_
|