re PR preprocessor/27777 (Bad diagnostic emission when #error contains a trigraph)

gcc/testsuite
	PR preprocessor/27777:
	* gcc.dg/cpp/pr27777.c: New file.
libcpp
	PR preprocessor/27777:
	* lex.c (cpp_output_line_to_string): New function.
	* internal.h (_cpp_begin_message): Don't declare.
	* errors.c (_cpp_begin_message): Now static.
	* include/cpplib.h (cpp_output_line_to_string): Declare.
	* directives.c (do_diagnostic): Rewrote.  Use
	cpp_output_line_to_string.  Don't use _cpp_begin_message.

From-SVN: r135740
diff --git a/libcpp/errors.c b/libcpp/errors.c
index 0b7c1e0..5e8e637 100644
--- a/libcpp/errors.c
+++ b/libcpp/errors.c
@@ -76,7 +76,7 @@
    big enough max_column_hint.)
 
    Returns 0 if the error has been suppressed.  */
-int
+static int
 _cpp_begin_message (cpp_reader *pfile, int code,
 		    source_location src_loc, unsigned int column)
 {