Factor out repeated code parsing and concatenating header-names from
tokens.

We now actually form an angled_string_literal token for a header name by
concatenation rather than just working out what its contents would be.
This substantially simplifies downstream processing and is necessary for
C++20 header unit imports.

llvm-svn: 356433
diff --git a/clang/test/Lexer/eof-include.c b/clang/test/Lexer/eof-include.c
index 6e53788..ba791d5 100644
--- a/clang/test/Lexer/eof-include.c
+++ b/clang/test/Lexer/eof-include.c
@@ -4,5 +4,5 @@
 // This file intentionally ends without a \n on the last line.  Make sure your
 // editor doesn't add one.
 
-// expected-error@+1{{expected "FILENAME" or <FILENAME>}}
-#include <\
\ No newline at end of file
+// expected-error@+1{{expected '>'}} expected-note@+1{{to match this '<'}}
+#include <\