diff options
Diffstat (limited to 'gcc/testsuite/objc.dg/gnu-runtime-2.m')
-rw-r--r-- | gcc/testsuite/objc.dg/gnu-runtime-2.m | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/objc.dg/gnu-runtime-2.m b/gcc/testsuite/objc.dg/gnu-runtime-2.m new file mode 100644 index 000000000..9903d2972 --- /dev/null +++ b/gcc/testsuite/objc.dg/gnu-runtime-2.m @@ -0,0 +1,30 @@ +/* Sanity check for GNU-runtime version of constant strings, + regardless of runtime used on target system. */ + +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-fnext-runtime" } { "" } } */ + +#include <objc/Object.h> +#include <string.h> +#include <stdlib.h> + +@interface NXConstantString: Object +{ + char *c_string; + unsigned int len; +} +-(const char *) cString; +-(unsigned int) length; +@end + +@implementation NXConstantString +-(const char *) cString { return c_string; } +-(unsigned int) length { return len; } +@end + +int main(int argc, void **args) +{ + if (strcmp ([@"this is a string" cString], "this is a string")) + abort (); + return 0; +} |