ppopsdef.h

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 811 行 · 第 1/2 页

H
811
字号

PPOPCD( OPERATOR )
PPOPCG( PTO_BINARY_NO_OVLD, 0, "operator" )
PPOPAN( IMPOSSIBLE, IMPOSSIBLE, IMPOSSIBLE, IMPOSSIBLE, DO_NOTHING )

PPOPCD( COLON_COLON )
PPOPCG( PTO_BINARY_NO_OVLD, 0, "::" )
PPOPIM

PPOPCD( SEG_OP )
PPOPCG( PTO_BINARY_NO_OVLD, O_CONVERT, ":>" )
PPOPAN( ER__SEGOP, ER__SEGOP, SEGOP, ER__SEGOP, ER__SEGOP ) // o:>o

PPOPCD( DYNAMIC_CAST )
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPAN( DYN_CAST, DYN_CAST, DYN_CAST, DYN_CAST, DYN_CAST )  //dynamic_cast<t>(e)

PPOPCD( STATIC_CAST )
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPAN( STAT_CAST, STAT_CAST, STAT_CAST, STAT_CAST, STAT_CAST )//static_cast<t>(e)

PPOPCD( REINTERPRET_CAST )
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPAN( REINT_CAST, REINT_CAST, REINT_CAST, REINT_CAST, REINT_CAST ) //reinterpret_cast<t>(e)

PPOPCD( CONST_CAST )
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPAN( CONST_CAST, CONST_CAST, CONST_CAST, CONST_CAST, CONST_CAST ) //const_cast

PPOPCD( TYPEID_EXPR )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPAN( TID_EXPR, TID_EXPR, TID_EXPR, TID_EXPR, TID_EXPR )//typeid(expr)

PPOPCD( TYPEID_TYPE )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPAN( TID_TYPE, TID_TYPE, TID_TYPE, TID_TYPE, TID_TYPE )//typeid(type)

PPOPCD( DELETE_G )
PPOPCG( PTO_UNARY_NO_OVLD, 0, "::delete" )
PPOPAN( DLT, DLT, DLT, DLT, DLT )//delete_g

PPOPCD( DELETE_G_ARRAY )
PPOPCG( PTO_UNARY_NO_OVLD, 0, "::delete[]" )
PPOPAN( DLT, DLT, DLT, DLT, DLT )//delete_g_array

PPOPCD( NEW_G )
PPOPCG( PTO_BINARY_NO_OVLD, 0, "new" )
PPOPAN( NEW, NEW, NEW, NEW, NEW )//new

PPOPCD( NEW_PARMS1 )
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPAN( DO_NOTHING, DO_NOTHING, DO_NOTHING, DO_NOTHING, DO_NOTHING )//new_parms_1

PPOPCD( NEW_PARMS2 )
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPAN( DO_NOTHING, DO_NOTHING, DO_NOTHING, DO_NOTHING, DO_NOTHING )//new_parms_2

PPOPCD( SEGNAME )                // __segname( string )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPAN( SEGNAME, IMPOSSIBLE, IMPOSSIBLE, IMPOSSIBLE, IMPOSSIBLE )

PPOPCD( RETURN )
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPAN( RETURN__P, RETURN_PA, RETURN__P, RETURN_AA, RETURN__P )

PPOPCD( CALL_NOOVLD )
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPAN( CALL, CALL, ER__NOT_FUN, ER__NOT_FUN, CALL )//o(o) no overload

PPOPCD( THROW )
PPOPCG( PTO_UNARY_NO_OVLD, 0, "" )
PPOPAN( THROW, THROW, THROW, THROW, THROW )

PPOPCD( INIT )
PPOPCG( PTO_BINARY_CPP, O_GETS, "" )
PPOPAN( INIT_PP, INIT_PZ, INIT_AP, INIT_AA, INIT_OTHER )//o=o

#endif

PPOPCD( LOG )
PPOPCG( PTO_UN_ARITH, O_LOG, "log" )
PPOPIM

PPOPCD( COS )
PPOPCG( PTO_UN_ARITH, O_COS, "cos" )
PPOPIM

PPOPCD( SIN )
PPOPCG( PTO_UN_ARITH, O_SIN, "sin" )
PPOPIM

PPOPCD( TAN )
PPOPCG( PTO_UN_ARITH, O_TAN, "tan" )
PPOPIM

PPOPCD( SQRT )
PPOPCG( PTO_UN_ARITH, O_SQRT, "sqrt" )
PPOPIM

PPOPCD( FABS )
PPOPCG( PTO_UN_ARITH, O_FABS, "fabs" )
PPOPIM

PPOPCD( ACOS )
PPOPCG( PTO_UN_ARITH, O_ACOS, "acos" )
PPOPIM

PPOPCD( ASIN )
PPOPCG( PTO_UN_ARITH, O_ASIN, "asin" )
PPOPIM

PPOPCD( ATAN )
PPOPCG( PTO_UN_ARITH, O_ATAN, "atan" )
PPOPIM

PPOPCD( COSH )
PPOPCG( PTO_UN_ARITH, O_COSH, "cosh" )
PPOPIM

PPOPCD( EXP )
PPOPCG( PTO_UN_ARITH, O_EXP, "exp" )
PPOPIM

PPOPCD( SINH )
PPOPCG( PTO_UN_ARITH, O_SINH, "sinh" )
PPOPIM

PPOPCD( TANH )
PPOPCG( PTO_UN_ARITH, O_TANH, "tanh" )
PPOPIM

PPOPCD( LOG10 )
PPOPCG( PTO_UN_ARITH, O_LOG10, "log10" )
PPOPIM

PPOPCD( POW )
PPOPCG( PTO_BIN_ARITH, O_POW, "pow" )
PPOPIM

PPOPCD( ATAN2 )
PPOPCG( PTO_BIN_ARITH, O_ATAN2, "atan2" )
PPOPIM

PPOPCD( FMOD )
PPOPCG( PTO_BIN_ARITH, O_FMOD, "fmod" )
PPOPIM

// INTRINSIC FUNCTIONS FOR ALPHA

#if _CPU == _AXP

PPOPCD( VASTART )
PPOPCG( PTO_BINARY_CPP, 0, "__builtin_va_start" )
PPOPIM

PPOPCD( ALLOCA )
PPOPCG( PTO_UNARY_CPP, 0, "__builtin_alloca" )
PPOPIM

#endif

#ifndef ONLY_INTRINSIC

PPOPCD( ROUND )
PPOPCG( PTO_UN_ARITH, O_ROUND, "" )
PPOPIM

PPOPCD( INVALID )
PPOPCG( 0, 0, "" )
PPOPIM

PPOPCD( FETCH )
PPOPCG( PTO_FETCH, O_POINTS, "" )
PPOPIM

PPOPCD( TRASH_EXPR )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( EXPR_DONE )
PPOPCG( PTO_UN_ARITH, 0, "" )
PPOPIM

PPOPCD( CALL_EXEC )
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPIM

PPOPCD( CALL_SETUP )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( CALL_EXEC_IND )
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPIM

PPOPCD( CALL_SETUP_IND )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( COPY_OBJECT )
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPIM

PPOPCD( BITFLD_CONVERT )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( PTR_DELTA )
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPIM

PPOPCD( RTFUN_INIT )
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPIM

PPOPCD( RTFUN_EXEC )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( BPRE_PLUS_PLUS )
PPOPCG( PTO_BIN_ASSIGN, O_PLUS, "" )
PPOPIM

PPOPCD( BPRE_MINUS_MINUS )
PPOPCG( PTO_BIN_ASSIGN, O_MINUS, "" )
PPOPIM

PPOPCD( BPOST_PLUS_PLUS )
PPOPCG( PTO_BIN_ASSIGN, O_PLUS, "" )
PPOPIM

PPOPCD( BPOST_MINUS_MINUS )
PPOPCG( PTO_BIN_ASSIGN, O_MINUS, "" )
PPOPIM

PPOPCD( BPRE_BOOL_PLUS_PLUS )
PPOPCG( PTO_BIN_ASSIGN, O_OR, "" )
PPOPIM

PPOPCD( BPOST_BOOL_PLUS_PLUS )
PPOPCG( PTO_BIN_ASSIGN, O_OR, "" )
PPOPIM

PPOPCD( MEMPTR_CONST )           // constant member ptr
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( DTOR_STATIC )            // DTOR static member
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPIM

PPOPCD( RARG_FETCH )             // fetch reference argument
PPOPCG( PTO_FETCH, 0, "" )
PPOPIM

PPOPCD( RARG_FETCH_OFF )         // fetch offsetted reference argument
PPOPCG( PTO_UNARY_CPP, O_POINTS, "" )
PPOPIM

PPOPCD( FAR16_TO_POINTER )       // unary convert far16 ptr to near ptr
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( POINTER_TO_FAR16 )       // unary convert near ptr to far16 ptr
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

// "under top" version of these operators must be right after "top" version

PPOPCD( VOLATILE_TOP )           // l-value must be fetched assuming volatility
PPOPCG( PTO_UNARY_CPP, 0, "" )      // (top of expression stack)
PPOPIM

PPOPCD( VOLATILE_UNDER_TOP )     // l-value must be fetched assuming volatility
PPOPCG( PTO_UNARY_CPP, 0, "" )      // (just under top of expression stack)
PPOPIM

PPOPCD( CONST_TOP )           // l-value must be fetched assuming constness
PPOPCG( PTO_UNARY_CPP, 0, "" )      // (top of expression stack)
PPOPIM

PPOPCD( CONST_UNDER_TOP )     // l-value must be fetched assuming constness
PPOPCG( PTO_UNARY_CPP, 0, "" )      // (just under top of expression stack)
PPOPIM

PPOPCD( UNALIGNED_TOP )         // l-value must be fetched assuming unaligned
PPOPCG( PTO_UNARY_CPP, 0, "" )  // (top of expression stack)
PPOPIM

PPOPCD( UNALIGNED_UNDER_TOP )   // l-value must be fetched assuming unaligned
PPOPCG( PTO_UNARY_CPP, 0, "" )  // (just under top of expression stack)
PPOPIM

PPOPCD( TYPE_SIG )               // TYPE SIGNATURE
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( SEGOP_SEG )              // SEG_OP -- segment #
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( VIRT_FUNC )              // virtual function
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPIM

PPOPCD( RESET_THIS )             // reset this, if not inlined
PPOPCG( PTO_BINARY_CPP, 0, "" )
PPOPIM

PPOPCD( VBASE_FETCH )            // fetch virtual-base from argument
PPOPCG( PTO_VFETCH, 0, "" )
PPOPIM

PPOPCD( CALL_SETUP_VFUN )        // set up virtual call with ic_vf... opcodes
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( VFUN_PTR )               // set up "this" for virtual funct. call
PPOPCG( PTO_VFETCH, 0, "" )
PPOPIM

PPOPCD( EQUAL_REF )              // assign a reference
PPOPCG( PTO_BINARY_CPP, O_GETS, "=" )
PPOPIM

PPOPCD( INIT_REF )
PPOPCG( PTO_BINARY_CPP, O_GETS, "" )
PPOPIM

// insert new opcodes here

PPOPCD( FILLER00 )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( FILLER01 )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( FILLER02 )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( FILLER03 )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( FILLER04 )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( FILLER05 )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( FILLER06 )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( FILLER07 )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( FILLER08 )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

PPOPCD( FILLER09 )
PPOPCG( PTO_UNARY_CPP, 0, "" )
PPOPIM

// define opcodes for PT_SYMBOL
PPOPNMS
PPOPNM(   NAME_DEFARG      )
PPOPNM(   NAME_NORMAL      )
PPOPNM(   NAME_DOT         )
PPOPNM(   NAME_THIS        )
PPOPNM(   NAME_DTOR        )
PPOPNM(   NAME_OPERATOR    )
PPOPNM(   NAME_CONVERT     )
PPOPNM(   NAME_CDTOR_EXTRA )
PPOPNM(   NAME_DTOR_SYM    )
PPOPNM(   NAME_PARM_REF    )
PPOPNM(   NOP              )
PPOPNM(   USER_CAST        )
PPOPNM(   IGNORE           )     // general ignore

// define end of stuff
PPOPEND

#undef delim

#endif

// undefine any macros defined

#undef PPOPCD
#undef PPOPOP
#undef PPOPCG
#undef PPOPAN
#undef PPOPIM
#undef PPOPNMS
#undef PPOPNM
#undef PPOPEND

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?