summaryrefslogtreecommitdiff
path: root/libcpp/include
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2008-10-05 12:35:36 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2008-10-05 12:35:36 +0000
commit956c6108f4cd69f7a8188d1ae822f05ddbde8604 (patch)
tree4d3817d3b652d403b257af245aaef0fa4682d210 /libcpp/include
parent146ac79f902b964ba1ea339ea57f3a74f789355c (diff)
downloadgcc-956c6108f4cd69f7a8188d1ae822f05ddbde8604.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140883 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libcpp/include')
-rw-r--r--libcpp/include/cpplib.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h
index 4f073f99433..5720c6fc8ea 100644
--- a/libcpp/include/cpplib.h
+++ b/libcpp/include/cpplib.h
@@ -870,6 +870,36 @@ extern const char *cpp_type2name (enum cpp_ttype);
extern cppchar_t cpp_parse_escape (cpp_reader *, const unsigned char ** pstr,
const unsigned char *limit, int wide);
+/* Structure used to hold a comment block at a given location in the
+ source code. */
+
+typedef struct
+{
+ /* Text of the comment including the terminators. */
+ char *comment;
+
+ /* source location for the given comment. */
+ source_location sloc;
+} cpp_comment;
+
+/* Structure holding all comments for a given cpp_reader. */
+
+typedef struct
+{
+ /* table of comment entries. */
+ cpp_comment *entries;
+
+ /* number of actual entries entered in the table. */
+ int count;
+
+ /* number of entries allocated currently. */
+ int allocated;
+} cpp_comment_table;
+
+/* Returns the table of comments encountered by the preprocessor. This
+ table is only populated when pfile->state.save_comments is true. */
+extern cpp_comment_table *cpp_get_comments (cpp_reader *);
+
/* In hash.c */
/* Lookup an identifier in the hashtable. Puts the identifier in the