aboutsummaryrefslogtreecommitdiff
path: root/gcc/cppinit.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cppinit.c')
-rw-r--r--gcc/cppinit.c39
1 files changed, 23 insertions, 16 deletions
diff --git a/gcc/cppinit.c b/gcc/cppinit.c
index d410199..551d922 100644
--- a/gcc/cppinit.c
+++ b/gcc/cppinit.c
@@ -452,6 +452,8 @@ cpp_reader_init (pfile)
pfile->token_buffer_size = 200;
pfile->token_buffer = (U_CHAR *) xmalloc (pfile->token_buffer_size);
CPP_SET_WRITTEN (pfile, 0);
+
+ pfile->hashtab = (HASHNODE **) xcalloc (HASHSIZE, sizeof (HASHNODE *));
}
/* Free resources used by PFILE.
@@ -500,7 +502,12 @@ cpp_cleanup (pfile)
pfile->all_include_files[i] = 0;
}
- cpp_hash_cleanup (pfile);
+ for (i = HASHSIZE; --i >= 0;)
+ {
+ while (pfile->hashtab[i])
+ delete_macro (pfile->hashtab[i]);
+ }
+ free (pfile->hashtab);
}
@@ -510,31 +517,31 @@ initialize_builtins (pfile)
cpp_reader *pfile;
{
#define NAME(str) (U_CHAR *)str, sizeof str - 1
- install (NAME("__TIME__"), T_TIME, 0, -1);
- install (NAME("__DATE__"), T_DATE, 0, -1);
- install (NAME("__FILE__"), T_FILE, 0, -1);
- install (NAME("__BASE_FILE__"), T_BASE_FILE, 0, -1);
- install (NAME("__LINE__"), T_SPECLINE, 0, -1);
- install (NAME("__INCLUDE_LEVEL__"), T_INCLUDE_LEVEL, 0, -1);
- install (NAME("__VERSION__"), T_VERSION, 0, -1);
+ cpp_install (pfile, NAME("__TIME__"), T_TIME, 0, -1);
+ cpp_install (pfile, NAME("__DATE__"), T_DATE, 0, -1);
+ cpp_install (pfile, NAME("__FILE__"), T_FILE, 0, -1);
+ cpp_install (pfile, NAME("__BASE_FILE__"), T_BASE_FILE, 0, -1);
+ cpp_install (pfile, NAME("__LINE__"), T_SPECLINE, 0, -1);
+ cpp_install (pfile, NAME("__INCLUDE_LEVEL__"), T_INCLUDE_LEVEL, 0, -1);
+ cpp_install (pfile, NAME("__VERSION__"), T_VERSION, 0, -1);
#ifndef NO_BUILTIN_SIZE_TYPE
- install (NAME("__SIZE_TYPE__"), T_CONST, SIZE_TYPE, -1);
+ cpp_install (pfile, NAME("__SIZE_TYPE__"), T_CONST, SIZE_TYPE, -1);
#endif
#ifndef NO_BUILTIN_PTRDIFF_TYPE
- install (NAME("__PTRDIFF_TYPE__ "), T_CONST, PTRDIFF_TYPE, -1);
+ cpp_install (pfile, NAME("__PTRDIFF_TYPE__ "), T_CONST, PTRDIFF_TYPE, -1);
#endif
- install (NAME("__WCHAR_TYPE__"), T_CONST, WCHAR_TYPE, -1);
- install (NAME("__USER_LABEL_PREFIX__"), T_CONST, user_label_prefix, -1);
- install (NAME("__REGISTER_PREFIX__"), T_CONST, REGISTER_PREFIX, -1);
+ cpp_install (pfile, NAME("__WCHAR_TYPE__"), T_CONST, WCHAR_TYPE, -1);
+ cpp_install (pfile, NAME("__USER_LABEL_PREFIX__"), T_CONST, user_label_prefix, -1);
+ cpp_install (pfile, NAME("__REGISTER_PREFIX__"), T_CONST, REGISTER_PREFIX, -1);
if (!CPP_TRADITIONAL (pfile))
{
- install (NAME("__STDC__"), T_STDC, 0, -1);
+ cpp_install (pfile, NAME("__STDC__"), T_STDC, 0, -1);
#if 0
if (CPP_OPTIONS (pfile)->c9x)
- install (NAME("__STDC_VERSION__"),T_CONST, "199909L", -1);
+ cpp_install (pfile, NAME("__STDC_VERSION__"),T_CONST, "199909L", -1);
else
#endif
- install (NAME("__STDC_VERSION__"),T_CONST, "199409L", -1);
+ cpp_install (pfile, NAME("__STDC_VERSION__"),T_CONST, "199409L", -1);
}
#undef NAME