From 8fb36317f1b3cd85655af61504bb31bf33364dd1 Mon Sep 17 00:00:00 2001 From: Geoffrey Keating Date: Fri, 4 Mar 2005 20:17:11 +0000 Subject: Merge changes between apple-ppc-merge-20041026 and apple-gcc-4049 git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@95897 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/objc.dg/const-cfstring-2.m | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 gcc/testsuite/objc.dg/const-cfstring-2.m (limited to 'gcc/testsuite/objc.dg/const-cfstring-2.m') diff --git a/gcc/testsuite/objc.dg/const-cfstring-2.m b/gcc/testsuite/objc.dg/const-cfstring-2.m new file mode 100644 index 00000000000..57b8d95a7d4 --- /dev/null +++ b/gcc/testsuite/objc.dg/const-cfstring-2.m @@ -0,0 +1,26 @@ +/* APPLE LOCAL file constant CFStrings */ +/* Test the -Wnonportable-cfstrings option, which should give + warnings if non-ASCII characters are embedded in constant + CFStrings. This will only work on MacOS X 10.2 and later. */ +/* Developed by Ziemowit Laski . */ + +/* { dg-do compile { target *-*-darwin* } } */ +/* { dg-options "-fconstant-cfstrings -Wnonportable-cfstrings" } */ + +#import +#import + +#ifndef __CONSTANT_CFSTRINGS__ +#error The -fconstant-cfstrings option is not functioning properly +#endif + +void foo(void) { + NSString *s1 = @"Compile-time string literal"; + CFStringRef s2 = CFSTR("Compile-time string literal"); + NSString *s3 = @"Non-ASCII literal - \222"; /* { dg-warning "non-ASCII character in CFString literal" } */ + CFStringRef s4 = CFSTR("\222 - Non-ASCII literal"); /* { dg-warning "non-ASCII character in CFString literal" } */ + CFStringRef s5 = CFSTR("Non-ASCII (\222) literal"); /* { dg-warning "non-ASCII character in CFString literal" } */ + NSString *s6 = @"\0Embedded NUL"; /* { dg-warning "embedded NUL in CFString literal" } */ + CFStringRef s7 = CFSTR("Embedded \0NUL"); /* { dg-warning "embedded NUL in CFString literal" } */ + CFStringRef s8 = CFSTR("Embedded NUL\0"); /* { dg-warning "embedded NUL in CFString literal" } */ +} -- cgit v1.2.3