diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-03-08 21:59:28 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-03-08 21:59:28 +0000 |
commit | 812924502bb7fbe0525757576aa2d16072ab5a87 (patch) | |
tree | cf817c7931b543509af5f99d86be261a19e92b85 /clang/test/Lexer/cxx0x_raw_string_delim_length.cpp | |
parent | 0ef86b0ea3392c672dd3ce69e32aa6d3d33603dd (diff) | |
download | bcm5719-llvm-812924502bb7fbe0525757576aa2d16072ab5a87.tar.gz bcm5719-llvm-812924502bb7fbe0525757576aa2d16072ab5a87.zip |
When checking the encoding of an 8-bit string literal, don't just check the
first codepoint! Also, don't reject empty raw string literals for spurious
"encoding" issues. Also, don't rely on undefined behavior in ConvertUTF.c.
llvm-svn: 152344
Diffstat (limited to 'clang/test/Lexer/cxx0x_raw_string_delim_length.cpp')
-rw-r--r-- | clang/test/Lexer/cxx0x_raw_string_delim_length.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/test/Lexer/cxx0x_raw_string_delim_length.cpp b/clang/test/Lexer/cxx0x_raw_string_delim_length.cpp index e7d5c6f8cd2..b9f6d13ab74 100644 --- a/clang/test/Lexer/cxx0x_raw_string_delim_length.cpp +++ b/clang/test/Lexer/cxx0x_raw_string_delim_length.cpp @@ -1,3 +1,7 @@ -// RUN: %clang_cc1 -std=c++11 -E %s 2>&1 | grep 'error: raw string delimiter longer than 16 characters' +// RUN: %clang_cc1 -std=c++11 -verify %s -const char *str = R"abcdefghijkmnopqrstuvwxyz(abcdef)abcdefghijkmnopqrstuvwxyz"; +const char *str1 = R"(abcdef)"; // ok +const char *str2 = R"foo()foo"; // ok +const char *str3 = R"()"; // ok +// FIXME: recover better than this. +const char *str4 = R"abcdefghijkmnopqrstuvwxyz(abcdef)abcdefghijkmnopqrstuvwxyz"; // expected-error {{raw string delimiter longer than 16 characters}} expected-error {{expected expression}} |