Fix PR2090, a typo in digraph processing.
llvm-svn: 47540
diff --git a/clang/Lex/Lexer.cpp b/clang/Lex/Lexer.cpp
index 3439356..98bbb38 100644
--- a/clang/Lex/Lexer.cpp
+++ b/clang/Lex/Lexer.cpp
@@ -1529,7 +1529,7 @@
} else if (Features.Digraphs && Char == ':') {
Result.setKind(tok::l_square); // '<:' -> '['
CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
- } else if (Features.Digraphs && Char == '>') {
+ } else if (Features.Digraphs && Char == '%') {
Result.setKind(tok::l_brace); // '<%' -> '{'
CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
} else {
diff --git a/clang/test/Lexer/digraph.cpp b/clang/test/Lexer/digraph.cpp
new file mode 100644
index 0000000..07c085a
--- /dev/null
+++ b/clang/test/Lexer/digraph.cpp
@@ -0,0 +1,15 @@
+// RUN: clang -fsyntax-only %s
+
+%:include <stdio.h>
+
+ %:ifndef BUFSIZE
+ %:define BUFSIZE 512
+ %:endif
+
+ void copy(char d<::>, const char s<::>, int len)
+ <%
+ while (len-- >= 0)
+ <%
+ d<:len:> = s<:len:>;
+ %>
+ %>