local void GetParmInfo( void ) /****************************/ { struct { unsigned f_pop : 1; unsigned f_reverse : 1; unsigned f_loadds : 1; unsigned f_nomemory : 1; unsigned f_list : 1; } have; have.f_pop = 0; have.f_reverse = 0; have.f_loadds = 0; have.f_nomemory = 0; have.f_list = 0; for( ;; ) { if( !have.f_pop && PragRecog( "caller" ) ) { AuxInfo.cclass |= CALLER_POPS; have.f_pop = 1; } else if( !have.f_pop && PragRecog( "routine" ) ) { AuxInfo.cclass &= ~ CALLER_POPS; AuxInfoFlg.f_routine_pops = 1; have.f_pop = 1; } else if( !have.f_reverse && PragRecog( "reverse" ) ) { AuxInfo.cclass |= REVERSE_PARMS; have.f_reverse = 1; } else if( !have.f_nomemory && PragRecog( "nomemory" ) ) { AuxInfo.cclass |= NO_MEMORY_READ; have.f_nomemory = 1; } else if( !have.f_loadds && PragRecog( "loadds" ) ) { AuxInfo.cclass |= LOAD_DS_ON_CALL; have.f_loadds = 1; } else if( !have.f_list && PragRegSet() != T_NULL ) { AuxInfo.parms = PragManyRegSets(); have.f_list = 1; } else { break; } } }
static void GetParmInfo( void ) { struct { unsigned f_pop : 1; unsigned f_reverse : 1; unsigned f_loadds : 1; unsigned f_nomemory : 1; unsigned f_list : 1; } have; have.f_pop = 0; have.f_reverse = 0; have.f_loadds = 0; have.f_nomemory = 0; have.f_list = 0; for( ;; ) { if( !have.f_pop && PragRecog( "caller" ) ) { CurrInfo->cclass |= CALLER_POPS; have.f_pop = 1; } else if( !have.f_pop && PragRecog( "routine" ) ) { CurrInfo->cclass &= ~ CALLER_POPS; have.f_pop = 1; } else if( !have.f_reverse && PragRecog( "reverse" ) ) { CurrInfo->cclass |= REVERSE_PARMS; have.f_reverse = 1; } else if( !have.f_nomemory && PragRecog( "nomemory" ) ) { CurrInfo->cclass |= NO_MEMORY_READ; have.f_nomemory = 1; } else if( !have.f_loadds && PragRecog( "loadds" ) ) { CurrInfo->cclass |= LOAD_DS_ON_CALL; have.f_loadds = 1; } else if( !have.f_list && IS_REGSET( CurToken ) ) { PragManyRegSets(); have.f_list = 1; } else { break; } } }