From 05945a1b8356818a441b3d358c8d803ee52eb778 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Mon, 5 Jun 2017 20:53:06 +0000 Subject: 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. From-SVN: r248901 --- libcpp/include/cpplib.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'libcpp/include') diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h index b843992..66ef4d6 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 -- cgit v1.1