Ack assumed that files resulting from transformations

would not need to be fed through a pre-processor.
This assumption proved false. Ack was altered and allows
use of a pre-processor on files produced by other passes.
This commit is contained in:
keie 1984-06-21 11:29:22 +00:00
parent 69d23fe0fc
commit 3cc1077553

View file

@ -226,7 +226,7 @@ process(arg) char *arg ; {
/* Try to find a path through the transformations */ /* Try to find a path through the transformations */
switch( setpath() ) { switch( setpath() ) {
case F_NOPATH : case F_NOPATH :
error("Incomplete internal specification for %s",arg) ; error("Cannot produce the desired file from %s",arg) ;
l_add(&c_arguments,keeps(arg)) ; l_add(&c_arguments,keeps(arg)) ;
return 1 ; return 1 ;
case F_NOMATCH : case F_NOMATCH :
@ -245,18 +245,18 @@ process(arg) char *arg ; {
if ( !nill_flag ) { if ( !nill_flag ) {
printf("%s\n",arg) ; printf("%s\n",arg) ;
} }
switch ( phase->t_prep ) { }
default : if ( !mayprep() ) break ; switch ( phase->t_prep ) {
case YES: if ( !transform(cpp_trafo) ) { default : if ( !mayprep() ) break ;
n_error++ ; case YES: if ( !transform(cpp_trafo) ) {
n_error++ ;
#ifdef DEBUG #ifdef DEBUG
vprint("Pre-processor failed\n") ; vprint("Pre-processor failed\n") ;
#endif #endif
return 0 ; return 0 ;
} }
case NO : case NO :
break ; break ;
}
} }
if ( cpp_trafo && stopsuffix && if ( cpp_trafo && stopsuffix &&
strcmp(cpp_trafo->t_out,stopsuffix)==0 ) { strcmp(cpp_trafo->t_out,stopsuffix)==0 ) {