c-ppoutput.c (scan_translation_unit): Call account_for_newlines for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.

	* c-ppoutput.c (scan_translation_unit): Call account_for_newlines
	for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.

	* include/cpplib.h (cpp_token_val_index): Change parameter type to
	const cpp_token *.
	* lex.c (cpp_token_val_index): Likewise.

	* c-c++-common/raw-string-18.c: New test.
	* c-c++-common/raw-string-19.c: New test.

From-SVN: r200878
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index d0c583d..195d728 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,5 +1,9 @@
 2013-07-10  Jakub Jelinek  <jakub@redhat.com>
 
+	* include/cpplib.h (cpp_token_val_index): Change parameter type to
+	const cpp_token *.
+	* lex.c (cpp_token_val_index): Likewise.
+
 	PR preprocessor/57757
 	* lex.c (cpp_avoid_paste): Avoid pasting CPP_{,W,UTF8}STRING
 	or CPP_STRING{16,32} with CPP_NAME or SPELL_LITERAL token that
diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h
index 76c297a..6c4225c 100644
--- a/libcpp/include/cpplib.h
+++ b/libcpp/include/cpplib.h
@@ -248,7 +248,7 @@
 };
 
 /* Say which field is in use.  */
-extern enum cpp_token_fld_kind cpp_token_val_index (cpp_token *tok);
+extern enum cpp_token_fld_kind cpp_token_val_index (const cpp_token *tok);
 
 /* A type wide enough to hold any multibyte source character.
    cpplib's character constant interpreter requires an unsigned type.
diff --git a/libcpp/lex.c b/libcpp/lex.c
index dc7b9c1..84e2af6 100644
--- a/libcpp/lex.c
+++ b/libcpp/lex.c
@@ -3029,7 +3029,7 @@
 /* Say which field of TOK is in use.  */
 
 enum cpp_token_fld_kind
-cpp_token_val_index (cpp_token *tok)
+cpp_token_val_index (const cpp_token *tok)
 {
   switch (TOKEN_SPELL (tok))
     {