Esempio n. 1
0
static void TestSubroutine( void )
{
    dw_handle   inline_sub;

    inline_sub = DWBeginSubroutine( Client, DW_SB_NEAR_CALL,
        ConstCharStar, NULL, NULL, NULL, 0, NULL, "inline_me_baby", 0,
        DW_FLAG_DECLARATION | DW_FLAG_PROTOTYPED | DW_FLAG_DECLARED_INLINE );
    TestTypedef();
    DWEndSubroutine( Client );

    DWBeginInlineSubroutine( Client, inline_sub, NULL, NULL );
    TestArray();
    DWEndSubroutine( Client );
}
Esempio n. 2
0
void    BIEndRBorEP( void ) {
//===========================

    if( _GenerateBrInfo() ) {
        DWEndSubroutine ( cBIId );
    }
}
Esempio n. 3
0
void    BIEndSF( sym_id ste_ptr ) {
//=================================

    if( _GenerateBrInfo() ) {
        DWEndSubroutine ( cBIId );
        BIRefSymbol( BIGetHandle( ste_ptr ) );
        currState &= ~BI_STATE_IN_STMT_FUNC;
    }
}
Esempio n. 4
0
void    BIEndSubProg( void ) {
//======================

    if( _GenerateBrInfo() ) {
        if ( ( SubProgId->u.ns.flags & SY_SUBPROG_TYPE ) == SY_BLOCK_DATA ) {
            BIEndBlockData();
        } else {
            BIDumpAllEntryPoints( Entries, 0 );
            DWEndSubroutine ( cBIId );
        }
        currState &= ~( BI_STATE_IN_SCOPE | BI_STATE_RESOLVED );
    }
}
Esempio n. 5
0
static void BIOutDeclareSP( sym_id ste_ptr, long flags ) {
//========================================================

// Dump the name of an external or intrinsic function. and its data

    char                name[MAX_SYMLEN+1];
    dw_handle           handle;

    if ( ste_ptr == SubProgId ) return;
    flags |= DW_FLAG_DECLARATION;

    memset( name, 0, MAX_SYMLEN+1 );
    handle = DWBeginSubroutine( cBIId, 0, BIGetSPType( ste_ptr ), justJunk,
                 0, 0, 0, 0, strncpy( name, ste_ptr->u.ns.name,
                                        ste_ptr->u.ns.u2.name_len ), 0, flags );
    DWEndSubroutine ( cBIId );
    BISetHandle( ste_ptr, handle );
    BIRefSymbol( handle );
}