Esempio n. 1
0
static void PrintLineInfo( char *buffer )
{
    PrtLst( buffer );
    if( CurrFile->link == NULL ) {
        PrtLst( " " );
    } else {
        PrtLst( "+" );
    }
    PrtLstNL( SrcBuff );
}
Esempio n. 2
0
void    PrtOptions( void ) {
//====================

// Display current options in listing file.

    opt_entry   *optn;
    char        buffer[30];
    char        *buff;
    unsigned_32 number;

    LFSkip();
    PrtLst( "Options:" );
    buffer[ 0 ] = ' ';
    number = 0;
    optn = CompOptns;
    for( optn = CompOptns; optn->option != NULL; optn++ ) {
        if( optn->flags & VAL ) {
            // the following check will only work if
            // OPT_DEFINE is a "VAL" option
            if( optn->value == OPT_DEFINE ) continue;
            if( optn->value == CGOPT_DATA_THRESH ) {
                number = DataThreshold;
            }
            buff = GetOptName( buffer, optn->option );
            *buff = '=';
            ++buff;
            if( optn->value == OPT_INCPATH ) {
                if( IncludePath == NULL ) continue;
                *buff = NULLCHAR;
                PrtLst( buffer );
                PrtLst( IncludePath );
                buffer[ 0 ] = ',';
                continue;
            }
            if( optn->value == CGOPT_OBJ_NAME ) {
                if( ObjName == NULL ) continue;
                *buff = NULLCHAR;
                PrtLst( buffer );
                PrtLst( ObjName );
                buffer[ 0 ] = ',';
                continue;
            }
            buff += sprintf( buff, "%lu", (unsigned long)number );
            PrtLst( buffer );
            buffer[ 0 ] = ',';
        } else {
            if( optn->flags & CG ) {
                if( optn->flags & NEG ) {
                    if( CGOpts & optn->value ) continue;
                } else {
                    if( ( CGOpts & optn->value ) == 0 ) continue;
                }
            } else if( optn->flags & CPU ) {
                if( optn->flags & NEG ) {
                    if( CPUOpts & optn->value ) continue;
                } else {
                    if( ( CPUOpts & optn->value ) == 0 ) continue;
                }
            } else if( optn->flags & OZ ) {
                if( optn->flags & NEG ) {
                    if( _BitsMatched( OZOpts, optn->value ) ) continue;
                } else {
                    if( !_BitsMatched( OZOpts, optn->value ) ) continue;
                }
            } else
            if( optn->value == OPT_XLINE ) {
                if( LastColumn == LAST_COL ) continue;
            } else {
                if( optn->flags & NEG ) {
                    if( Options & optn->value ) continue;
                } else {
                    if( ( Options & optn->value ) == 0 ) continue;
                }
            }
            GetOptName( buffer, optn->option );
            PrtLst( buffer );
            buffer[ 0 ] = ',';
        }
    }
    PrtLstNL( "" );
    LFSkip();
}