diff options
author | dmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-06-05 20:53:06 +0000 |
---|---|---|
committer | dmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-06-05 20:53:06 +0000 |
commit | 7b921e0b98f0d5b8424f1bc9111a9c441d887c39 (patch) | |
tree | d602be4faec521df3252fd78c8aaab8cd7f563d7 /libcpp/include | |
parent | cbea241b6a6d1a21ddd9450e322e1f819b48adc8 (diff) | |
download | gcc-7b921e0b98f0d5b8424f1bc9111a9c441d887c39.tar.gz |
libcpp: add callback for comment-handling
gcc/testsuite/ChangeLog:
* g++.dg/plugin/comment_plugin.c: New test plugin.
* g++.dg/plugin/comments-1.C: New test file.
* g++.dg/plugin/plugin.exp (plugin_test_list): Add the above.
libcpp/ChangeLog:
* include/cpplib.h (struct cpp_callbacks): Add "comment"
callback.
* lex.c (_cpp_lex_direct): Call the comment callback if non-NULL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248901 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libcpp/include')
-rw-r--r-- | libcpp/include/cpplib.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h index b843992b0cd..66ef4d64433 100644 --- a/libcpp/include/cpplib.h +++ b/libcpp/include/cpplib.h @@ -609,6 +609,15 @@ struct cpp_callbacks /* Callback for providing suggestions for misspelled directives. */ const char *(*get_suggestion) (cpp_reader *, const char *, const char *const *); + + /* Callback for when a comment is encountered, giving the location + of the opening slash, a pointer to the content (which is not + necessarily 0-terminated), and the length of the content. + The content contains the opening slash-star (or slash-slash), + and for C-style comments contains the closing star-slash. For + C++-style comments it does not include the terminating newline. */ + void (*comment) (cpp_reader *, source_location, const unsigned char *, + size_t); }; #ifdef VMS |