By default, optimizers can be excluded by giving them a negative
priority in the description files. This is currently done for
the global optimizer
EXTERN char *stopsuffix; /* Suffix to stop at */
EXTERN char *machine; /* The machine id */
EXTERN char *callname; /* argv[0] */
-EXTERN char *rts; /* The runtime-system id */
+EXTERN char *rts; /* The runtime-system */
+EXTERN char *rtsuf; /* The runtime-system module suffix */
+EXTERN char *Optlist; /* Which optimizers */
EXTERN list_head arguments; /* List of arguments */
EXTERN list_head flags; /* List of flags */
hide=YES ;
break ;
case 'O': Optflag++ ;
+ Optlist= &argp[2] ;
+ eaten=1 ;
break ;
case 'v': if ( argp[2] ) {
v_flag += atoi(&argp[2]) ;
scan_found();
return ;
}
+ if (! f_scan) return;
scanlist(f_scan, scan) {
trafo= t_cont(*scan) ;
if ( satisfy(trafo,suffix) ) {
scan_found() ;
return ;
}
- if ( l_next(*scan) ) {
- try(l_next(*scan),trafo->t_out);
+ if (! l_next(*scan) && !stopsuffix) {
+ scan_found() ;
} else {
- if ( !stopsuffix ) scan_found() ;
+ try(l_next(*scan),trafo->t_out);
}
trafo->t_scan= NO ;
}