aboutsummaryrefslogtreecommitdiff
path: root/gcc/cpplib.c
diff options
context:
space:
mode:
authorZack Weinberg <zack@wolery.cumb.org>2000-04-29 20:58:12 +0000
committerZack Weinberg <zack@gcc.gnu.org>2000-04-29 20:58:12 +0000
commit5cebbd8de37bec65562d047500b13d93c6ad839f (patch)
tree3485b8cc5bd488923ed2e4a7685f61b49bd637e6 /gcc/cpplib.c
parent0bf0f02717e5029aed0aacda9198e05d7c1d2c2d (diff)
downloadgcc-5cebbd8de37bec65562d047500b13d93c6ad839f.zip
gcc-5cebbd8de37bec65562d047500b13d93c6ad839f.tar.gz
gcc-5cebbd8de37bec65562d047500b13d93c6ad839f.tar.bz2
cpphash.h: Move struct reflist, struct definition, and the DEFINITION typedef to cpphash.c.
* cpphash.h: Move struct reflist, struct definition, and the DEFINITION typedef to cpphash.c. Use 'struct definition *' in union hashval. _cpp_free_definition takes a HASHNODE pointer. * cpphash.c (_cpp_free_definition): Free data pointed to by MCONST, XCONST, MACRO, and FMACRO nodes properly. (_cpp_create_definition, del_HASHNODE): Just call _cpp_free_definition to clear out a hashnode. * cpplib.c (do_pragma_poison): Likewise. From-SVN: r33536
Diffstat (limited to 'gcc/cpplib.c')
-rw-r--r--gcc/cpplib.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/gcc/cpplib.c b/gcc/cpplib.c
index 2d466ff..384f5fb 100644
--- a/gcc/cpplib.c
+++ b/gcc/cpplib.c
@@ -980,9 +980,7 @@ do_pragma_poison (pfile)
if (hp->type != T_POISON)
{
cpp_warning (pfile, "poisoning existing macro `%s'", hp->name);
- if (hp->type == T_MACRO)
- _cpp_free_definition (hp->value.defn);
- hp->value.defn = 0;
+ _cpp_free_definition (hp);
hp->type = T_POISON;
}
}