aboutsummaryrefslogtreecommitdiff
path: root/libcpp/init.c
diff options
context:
space:
mode:
authorMatthew Gingell <gingell@adacore.com>2008-10-05 12:35:36 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2008-10-05 14:35:36 +0200
commit631d0d36105c07f3e8c4127d252f83dbabbd40a3 (patch)
tree4d3817d3b652d403b257af245aaef0fa4682d210 /libcpp/init.c
parent7a90b0ca0cbfa54ad48717911badcb1632f4b3fa (diff)
downloadgcc-631d0d36105c07f3e8c4127d252f83dbabbd40a3.zip
gcc-631d0d36105c07f3e8c4127d252f83dbabbd40a3.tar.gz
gcc-631d0d36105c07f3e8c4127d252f83dbabbd40a3.tar.bz2
cpplib.h (cpp_comments, [...]): New structs.
2008-10-05 Matthew Gingell <gingell@adacore.com> Arnaud Charlet <charlet@adacore.com> * include/cpplib.h (cpp_comments, cpp_comment_table): New structs. (cpp_get_comments): New function. * internal.h (struct cpp_reader): Add comments field. * init.c (cpp_destroy): Free comments. * lex.c (store_comment, cpp_get_comments): New functions. (comments): New struct. (save_comment): Store comments in comments struct. Co-Authored-By: Arnaud Charlet <charlet@adacore.com> From-SVN: r140883
Diffstat (limited to 'libcpp/init.c')
-rw-r--r--libcpp/init.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libcpp/init.c b/libcpp/init.c
index 0db167c..cc7a09e 100644
--- a/libcpp/init.c
+++ b/libcpp/init.c
@@ -245,6 +245,7 @@ cpp_destroy (cpp_reader *pfile)
{
cpp_context *context, *contextn;
tokenrun *run, *runn;
+ int i;
free (pfile->op_stack);
@@ -287,6 +288,14 @@ cpp_destroy (cpp_reader *pfile)
free (context);
}
+ if (pfile->comments.entries)
+ {
+ for (i = 0; i < pfile->comments.count; i++)
+ free (pfile->comments.entries[i].comment);
+
+ free (pfile->comments.entries);
+ }
+
free (pfile);
}