diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2010-05-28 19:40:48 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-05-28 19:40:48 +0000 |
commit | 93bef10131528bc37782629360f1e037aa9a830a (patch) | |
tree | 8be46a9539e945b47e7459279044e1ce62087da7 /clang/test/CodeGen/pascal-wchar-string.c | |
parent | 76413597a99a48898a3a1b230fe1190765801641 (diff) | |
download | bcm5719-llvm-93bef10131528bc37782629360f1e037aa9a830a.tar.gz bcm5719-llvm-93bef10131528bc37782629360f1e037aa9a830a.zip |
Fix a miscompile of wchar pascal strings.
(radar 8020384)
llvm-svn: 104996
Diffstat (limited to 'clang/test/CodeGen/pascal-wchar-string.c')
-rw-r--r-- | clang/test/CodeGen/pascal-wchar-string.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/clang/test/CodeGen/pascal-wchar-string.c b/clang/test/CodeGen/pascal-wchar-string.c new file mode 100644 index 00000000000..89e4de489f0 --- /dev/null +++ b/clang/test/CodeGen/pascal-wchar-string.c @@ -0,0 +1,31 @@ +// RUN: %clang_cc1 -emit-llvm -o - %s -fpascal-strings -fshort-wchar | FileCheck %s +// rdar: // 8020384 + +extern void abort (void); + +typedef unsigned short UInt16; + +typedef UInt16 UniChar; + +int main(int argc, char* argv[]) +{ + + char st[] = "\pfoo"; // pascal string + UniChar wt[] = L"\pbar"; // pascal Unicode string + UniChar wt1[] = L"\p"; + UniChar wt2[] = L"\pgorf"; + + if (st[0] != 3) + abort (); + if (wt[0] != 3) + abort (); + if (wt1[0] != 0) + abort (); + if (wt2[0] != 4) + abort (); + + return 0; +} + +// CHECK: c"\03\00b\00a\00r\00\00\00" +// CHECK: c"\04\00g\00o\00r\00f\00\00\00" |