From 5329e7e5ed18bddedd02c02701a1560f95c9d66c Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 24 Feb 2008 19:05:57 +0000 Subject: [PATCH] Fix PR2090, a typo in digraph processing. llvm-svn: 47540 --- clang/Lex/Lexer.cpp | 2 +- clang/test/Lexer/digraph.cpp | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 clang/test/Lexer/digraph.cpp diff --git a/clang/Lex/Lexer.cpp b/clang/Lex/Lexer.cpp index 3439356b560a..98bbb386305d 100644 --- a/clang/Lex/Lexer.cpp +++ b/clang/Lex/Lexer.cpp @@ -1529,7 +1529,7 @@ LexNextToken: } 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 000000000000..07c085a1d55d --- /dev/null +++ b/clang/test/Lexer/digraph.cpp @@ -0,0 +1,15 @@ +// RUN: clang -fsyntax-only %s + +%:include + + %:ifndef BUFSIZE + %:define BUFSIZE 512 + %:endif + + void copy(char d<::>, const char s<::>, int len) + <% + while (len-- >= 0) + <% + d<:len:> = s<:len:>; + %> + %>