diff options
author | Craig Topper <craig.topper@gmail.com> | 2011-08-11 04:06:15 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2011-08-11 04:06:15 +0000 |
commit | 54edccafc5e3ef89bcd43a3f716d0c978e2aff00 (patch) | |
tree | 9ddd9164c0276975333dcd47f910a70e46c6b30d /clang/test/CodeGen/string-literal.c | |
parent | dbd1352c80136b1a91edf3fa07c59e8956744a54 (diff) | |
download | bcm5719-llvm-54edccafc5e3ef89bcd43a3f716d0c978e2aff00.tar.gz bcm5719-llvm-54edccafc5e3ef89bcd43a3f716d0c978e2aff00.zip |
Add support for C++0x raw string literals.
llvm-svn: 137298
Diffstat (limited to 'clang/test/CodeGen/string-literal.c')
-rw-r--r-- | clang/test/CodeGen/string-literal.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/clang/test/CodeGen/string-literal.c b/clang/test/CodeGen/string-literal.c index dfa609fe8a3..98216423bc4 100644 --- a/clang/test/CodeGen/string-literal.c +++ b/clang/test/CodeGen/string-literal.c @@ -1,6 +1,6 @@ // RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm %s -o - | FileCheck -check-prefix=C %s // RUN: %clang_cc1 -x c++ -triple i386-unknown-unknown -emit-llvm %s -o - | FileCheck -check-prefix=C %s -// RUN: %clang_cc1 -x c++ -std=c++0x -triple i386-unknown-unknown -emit-llvm %s -o - | FileCheck -check-prefix=C %s +// RUN: %clang_cc1 -x c++ -std=c++0x -triple i386-unknown-unknown -emit-llvm %s -o - | FileCheck -check-prefix=CPP0X %s #include <stddef.h> @@ -38,5 +38,28 @@ int main() { // CHECK-CPP0X: private unnamed_addr constant [4 x i8] c"def\00", align 1 const char *g = u8"def"; + + // CHECK-CPP0X: private unnamed_addr constant [4 x i8] c"ghi\00", align 1 + const char *h = R"foo(ghi)foo"; + + // CHECK-CPP0X: private unnamed_addr constant [4 x i8] c"jkl\00", align 1 + const char *i = u8R"bar(jkl)bar"; + + // CHECK-CPP0X: private unnamed_addr constant [6 x i8] c"G\00H\00\00\00", align 2 + const char16_t *j = uR"foo(GH)foo"; + + // CHECK-CPP0X: private unnamed_addr constant [12 x i8] c"I\00\00\00J\00\00\00\00\00\00\00", align 4 + const char32_t *k = UR"bar(IJ)bar"; + + // CHECK-CPP0X: private unnamed_addr constant [12 x i8] c"K\00\00\00L\00\00\00\00\00\00\00", align 4 + const wchar_t *l = LR"bar(KL)bar"; + + // CHECK-CPP0X: private unnamed_addr constant [9 x i8] c"abc\5Cndef\00", align 1 + const char *m = R"(abc\ndef)"; + + // CHECK-CPP0X: private unnamed_addr constant [8 x i8] c"abc\0Adef\00", align 1 + const char *n = R"(abc +def)"; + #endif } |