diff options
author | no-author <no-author@gcc.gnu.org> | 2004-05-26 01:58:41 +0000 |
---|---|---|
committer | no-author <no-author@gcc.gnu.org> | 2004-05-26 01:58:41 +0000 |
commit | 2beaa1447322d20bef6ff64119842a0a7002c995 (patch) | |
tree | 09b43fc9270e195339f1b3f1f64cc5214f0b4de6 /gcc/testsuite/g++.dg/pascal-strings-1.C | |
parent | 03846eafd7c275b583a97c40554da04c978a110a (diff) |
This commit was manufactured by cvs2svn to create tagapple/gcc-1757
'apple-gcc-1757'.
git-svn-id: https://gcc.gnu.org/svn/gcc/tags/apple-gcc-1757@82276 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/g++.dg/pascal-strings-1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/pascal-strings-1.C | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/pascal-strings-1.C b/gcc/testsuite/g++.dg/pascal-strings-1.C new file mode 100644 index 00000000000..50c52015ec4 --- /dev/null +++ b/gcc/testsuite/g++.dg/pascal-strings-1.C @@ -0,0 +1,44 @@ +/* APPLE LOCAL file pascal strings */ +/* Positive C++ test cases. */ +/* Origin: Ziemowit Laski <zlaski@apple.com> */ +/* { dg-do run } */ +/* { dg-options "-fpascal-strings" } */ + +typedef __SIZE_TYPE__ size_t; +extern "C" void abort (void); +extern "C" size_t strlen (const char *s); + +const unsigned char *pascalStr1 = "\pHello, World!"; +const unsigned char *concat1 = "\pConcatenated" "string" "\pliteral"; + +const unsigned char msg1[] = "\pHello"; /* ok */ +const unsigned char *msg2 = "\pHello"; /* ok */ +const signed char msg3[] = "\pHello"; /* ok */ +const char msg4[] = "\pHello"; /* ok */ +unsigned char msg5[] = "\pHello"; /* ok */ +signed char msg7[] = "\pHello"; /* ok */ +char msg8[] = "\pHello"; /* ok */ + +int +main (void) +{ + const unsigned char *pascalStr2 = "\pGood-bye!"; + + if (strlen ((const char *)pascalStr1) != 14) + abort (); + if (*pascalStr1 != 13) + abort (); /* the length byte does not include trailing null */ + + if (strlen ((const char *)pascalStr2) != 10) + abort (); + if (*pascalStr2 != 9) + abort (); + + if (strlen ((const char *)concat1) != 26) + abort (); + if (*concat1 != 25) + abort (); + + return 0; +} + |