blob: 5d3e85dae76d94f42df6e858dd666d03f497225d [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 %s -verify -fsyntax-only -pedantic
Steve Naroff0e3e3eb2009-03-30 23:46:03 +00002
Daniel Dunbar23afaad2009-11-17 08:57:36 +00003int printf(const char *, ...);
Steve Naroff0e3e3eb2009-03-30 23:46:03 +00004
5int main(void) {
Steve Naroff8a5c0cd2009-03-31 10:29:45 +00006 int a[sizeof("hello \u2192 \u2603 \u2190 world") == 24 ? 1 : -1];
7
Ted Kremenekd635c5f2010-01-30 00:49:51 +00008 printf("%s (%zd)\n", "hello \u2192 \u2603 \u2190 world", sizeof("hello \u2192 \u2603 \u2190 world"));
9 printf("%s (%zd)\n", "\U00010400\U0001D12B", sizeof("\U00010400\U0001D12B"));
Steve Naroff0e3e3eb2009-03-30 23:46:03 +000010 // Some error conditions...
11 printf("%s\n", "\U"); // expected-error{{\u used with no following hex digits}}
12 printf("%s\n", "\U00"); // expected-error{{incomplete universal character name}}
13 printf("%s\n", "\U0001"); // expected-error{{incomplete universal character name}}
Richard Smith26b75c02012-03-09 22:27:51 +000014 printf("%s\n", "\u0001"); // expected-error{{universal character name refers to a control character}}
Steve Naroff0e3e3eb2009-03-30 23:46:03 +000015 return 0;
16}