* - for file symbols, their last modify time;
* - the file which logically contains the declaration of
* the symbol (not an include file);
* - for file symbols, their last modify time;
* - the file which logically contains the declaration of
* the symbol (not an include file);
fprintf( stderr , "[checksymbol] pfile %s ifile %s\n"
, pfilep -> name , ifilep -> name );
}
fprintf( stderr , "[checksymbol] pfile %s ifile %s\n"
, pfilep -> name , ifilep -> name );
}
- fprintf( stderr , "[checksymbol] ->name %s ->n_type %x (%s)\n"
- , nlp -> n_un.n_name , nlp -> n_type
- , classify( nlp -> n_type ) );
+ fprintf( stderr , "[checksymbol] ->name %s ->n_desc %x (%s)\n"
+ , nlp -> n_un.n_name , nlp -> n_desc
+ , classify( nlp -> n_desc ) );
- switch ( nlp -> n_type ) {
- case N_PGLAB:
- case N_PGCON:
- case N_PGTYP:
- case N_PGVAR:
- case N_PGFUN:
- case N_PGPRC:
- case N_PEFUN:
- case N_PEPRC:
- case N_PSO:
- case N_PSOL:
- symbolp = entersymbol( nlp -> n_un.n_name );
- break;
- default:
- /* don't care about the others */
- return;
+ if ( nlp -> n_type != N_PC ) {
+ /* don't care about the others */
+ return;
if ( symbolp -> lookup == NEW ) {
# ifdef DEBUG
fprintf( stderr , "[checksymbol] ->name %s is NEW\n"
, symbolp -> name );
# endif DEBUG
if ( symbolp -> lookup == NEW ) {
# ifdef DEBUG
fprintf( stderr , "[checksymbol] ->name %s is NEW\n"
, symbolp -> name );
# endif DEBUG
symbolp -> sym_un.sym_str.rfilep = ifilep;
symbolp -> sym_un.sym_str.rline = nlp -> n_value;
symbolp -> sym_un.sym_str.fromp = pfilep;
symbolp -> sym_un.sym_str.fromi = ifilep;
symbolp -> sym_un.sym_str.iline = nlp -> n_value;
return;
symbolp -> sym_un.sym_str.rfilep = ifilep;
symbolp -> sym_un.sym_str.rline = nlp -> n_value;
symbolp -> sym_un.sym_str.fromp = pfilep;
symbolp -> sym_un.sym_str.fromi = ifilep;
symbolp -> sym_un.sym_str.iline = nlp -> n_value;
return;
error( WARNING
, "%s, line %d: %s %s must be declared in included file"
, pfilep -> name , nlp -> n_value
error( WARNING
, "%s, line %d: %s %s must be declared in included file"
, pfilep -> name , nlp -> n_value
/*
* we may see any number of external declarations,
* but they all have to come
* from the same include file.
*/
/*
* we may see any number of external declarations,
* but they all have to come
* from the same include file.
*/
- if ( ( symbolp -> type == N_PEFUN
- && nlp -> n_type != N_PGFUN )
- || ( symbolp -> type == N_PEPRC
- && nlp -> n_type != N_PGPRC )
+ if ( ( symbolp -> desc == N_PEFUNC
+ && nlp -> n_desc != N_PGFUNC )
+ || ( symbolp -> desc == N_PEPROC
+ && nlp -> n_desc != N_PGPROC )
/*
* functions may not be seen more than once.
* the loader will complain about
* `multiply defined', but we can, too.
*/
break;
/*
* functions may not be seen more than once.
* the loader will complain about
* `multiply defined', but we can, too.
*/
break;
case N_PGVAR:
/*
* labels, constants, types, variables
case N_PGVAR:
/*
* labels, constants, types, variables