gcc:
commiteb0d20b7a488402286290a18e539c8d02b12b62b
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 3 Nov 2005 23:08:18 +0000 (3 23:08 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 3 Nov 2005 23:08:18 +0000 (3 23:08 +0000)
tree4d26b7322a593e1c409570f2ca4e99dccb8dc759
parent8e3caacfd31e8064785cba5c6ca2cec3a67d9f73
gcc:
PR c++/17964
* diagnostic.c (diagnostic_set_info_translated): New function.
(diagnostic_set_info): Use it.  Add comment.
* diagnostic.h (diagnostic_set_info_translated): Declare.

gcc/cp:
* error.c (cp_cpp_error): New function.
* cp-tree.h (cp_cpp_error): Declare.
* parser.c (cp_lexer_new_main): Set CPP option client_diagnostic
and error callback after lexing.

gcc/testsuite:
* g++.dg/cpp/string-1.C: New test.

libcpp:
* include/cpplib.h (struct cpp_options): Add client_diagnostic.
(struct cpp_callbacks): Add error.
* errors.c (cpp_error): If client_diagnostic, use error callback.
* charset.c (convert_escape): Don't use %03o in diagnostic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106454 138bc75d-0d04-0410-961f-82ee72b054a4
13 files changed:
gcc/ChangeLog
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/error.c
gcc/cp/parser.c
gcc/diagnostic.c
gcc/diagnostic.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp/string-1.C [new file with mode: 0644]
libcpp/ChangeLog
libcpp/charset.c
libcpp/errors.c
libcpp/include/cpplib.h