Skip to content
Snippets Groups Projects
  • Joseph Myers's avatar
    178b58b5
    re PR c++/17964 (cpp error messages contain wrong line in C++) · 178b58b5
    Joseph Myers authored
    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.
    
    From-SVN: r106454
    178b58b5
    History
    re PR c++/17964 (cpp error messages contain wrong line in C++)
    Joseph Myers authored
    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.
    
    From-SVN: r106454