|
@@ -121,7 +121,7 @@ main(argc, argv)
|
|
|
compile(argc - 1, &argv[1]);
|
|
|
|
|
|
#ifdef DEBUG
|
|
|
- hash_stat();
|
|
|
+ if (options['h']) hash_stat();
|
|
|
if (options['m']) Info();
|
|
|
#endif DEBUG
|
|
|
|
|
@@ -175,7 +175,7 @@ char *source;
|
|
|
add_dependency(s)
|
|
|
char *s;
|
|
|
{
|
|
|
- register struct idf *p = str2idf(s);
|
|
|
+ register struct idf *p = str2idf(s, 1);
|
|
|
|
|
|
if (! p->id_resmac) {
|
|
|
register struct dependency *q = new_dependency();
|
|
@@ -347,7 +347,6 @@ init()
|
|
|
double_type = standard_type(DOUBLE, 0, double_align, double_size);
|
|
|
lngdbl_type = standard_type(LNGDBL, 0, lngdbl_align, lngdbl_size);
|
|
|
void_type = standard_type(VOID, 0, 1, (arith)-1);
|
|
|
- label_type = standard_type(LABEL, 0, 0, (arith)0);
|
|
|
error_type = standard_type(ERRONEOUS, 0, 1, (arith)1);
|
|
|
|
|
|
/* Pointer Arithmetic type: all arithmetics concerning
|
|
@@ -375,11 +374,11 @@ init()
|
|
|
string_type = construct_type(POINTER, schar_type, 0, (arith)0, NO_PROTO);
|
|
|
|
|
|
/* Define the standard type identifiers. */
|
|
|
- add_def(str2idf("char"), TYPEDEF, schar_type, L_UNIVERSAL);
|
|
|
- add_def(str2idf("int"), TYPEDEF, int_type, L_UNIVERSAL);
|
|
|
- add_def(str2idf("float"), TYPEDEF, float_type, L_UNIVERSAL);
|
|
|
- add_def(str2idf("double"), TYPEDEF, double_type, L_UNIVERSAL);
|
|
|
- add_def(str2idf("void"), TYPEDEF, void_type, L_UNIVERSAL);
|
|
|
+ add_def(str2idf("char", 0), TYPEDEF, schar_type, L_UNIVERSAL);
|
|
|
+ add_def(str2idf("int", 0), TYPEDEF, int_type, L_UNIVERSAL);
|
|
|
+ add_def(str2idf("float", 0), TYPEDEF, float_type, L_UNIVERSAL);
|
|
|
+ add_def(str2idf("double", 0), TYPEDEF, double_type, L_UNIVERSAL);
|
|
|
+ add_def(str2idf("void", 0), TYPEDEF, void_type, L_UNIVERSAL);
|
|
|
stack_level();
|
|
|
}
|
|
|
|
|
@@ -387,7 +386,7 @@ init_specials(si)
|
|
|
register struct sp_id *si;
|
|
|
{
|
|
|
while (si->si_identifier) {
|
|
|
- struct idf *idf = str2idf(si->si_identifier);
|
|
|
+ struct idf *idf = str2idf(si->si_identifier, 0);
|
|
|
|
|
|
if (idf->id_special)
|
|
|
fatal("maximum identifier length insufficient");
|
|
@@ -473,7 +472,7 @@ Info()
|
|
|
extern int cnt_string_cst, cnt_formal,
|
|
|
cnt_decl_unary, cnt_def, cnt_expr, cnt_field,
|
|
|
cnt_e_stack, cnt_localvar, cnt_proto, cnt_repl,
|
|
|
- cnt_args, cnt_idf, cnt_macro, cnt_stack_level,
|
|
|
+ cnt_args, cnt_macro, cnt_stack_level,
|
|
|
cnt_stack_entry, cnt_stmt_block, cnt_sdef, cnt_tag,
|
|
|
cnt_switch_hdr, cnt_case_entry, cnt_type, cnt_brace,
|
|
|
cnt_lint_stack_entry, cnt_state, cnt_auto_def,
|
|
@@ -482,7 +481,7 @@ Info()
|
|
|
%6d string_cst\n%6d formal\n\
|
|
|
%6d decl_unary\n%6d def\n%6d expr\n%6d field\n\
|
|
|
%6d e_stack\n%6d localvar\n%6d proto\n%6d repl\n\
|
|
|
-%6d args\n%6d idf\n%6d macro\n%6d stack_level\n\
|
|
|
+%6d args\n%6d macro\n%6d stack_level\n\
|
|
|
%6d stack_entry\n%6d stmt_block\n%6d sdef\n%6d tag\n\
|
|
|
%6d switch_hdr\n%6d case_entry\n%6d type\n%6d brace\n\
|
|
|
%6d lint_stack_entry\n%6d state\n%6d auto_def\n\
|
|
@@ -490,7 +489,7 @@ Info()
|
|
|
cnt_string_cst, cnt_formal,
|
|
|
cnt_decl_unary, cnt_def, cnt_expr, cnt_field,
|
|
|
cnt_e_stack, cnt_localvar, cnt_proto, cnt_repl,
|
|
|
- cnt_args, cnt_idf, cnt_macro, cnt_stack_level,
|
|
|
+ cnt_args, cnt_macro, cnt_stack_level,
|
|
|
cnt_stack_entry, cnt_stmt_block, cnt_sdef, cnt_tag,
|
|
|
cnt_switch_hdr, cnt_case_entry, cnt_type, cnt_brace,
|
|
|
cnt_lint_stack_entry, cnt_state, cnt_auto_def,
|