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_
|