diff options
Diffstat (limited to 'gcc-4.4.3/libstdc++-v3/testsuite/21_strings/c_strings/char/3.cc')
-rw-r--r-- | gcc-4.4.3/libstdc++-v3/testsuite/21_strings/c_strings/char/3.cc | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/21_strings/c_strings/char/3.cc b/gcc-4.4.3/libstdc++-v3/testsuite/21_strings/c_strings/char/3.cc new file mode 100644 index 000000000..5e5c514d7 --- /dev/null +++ b/gcc-4.4.3/libstdc++-v3/testsuite/21_strings/c_strings/char/3.cc @@ -0,0 +1,37 @@ +// { dg-do compile { target correct_iso_cpp_string_wchar_protos } } +// { dg-options "-O2" } + +#include <cstring> + +const char *cc1, *cc2; +char *c1, *c2; +const void *cv1, *cv2; +void *v1, *v2; + +void +test01 () +{ + v1 = std::memchr (v2, '/', 3); + c1 = std::strchr (c2, '/'); + c1 = std::strrchr (c2, 'c'); + c1 = std::strpbrk (c2, "abc"); + c1 = std::strstr (c2, "abc"); + + cv1 = std::memchr (v2, '/', 3); + cc1 = std::strchr (c2, '/'); + cc1 = std::strrchr (c2, 'c'); + cc1 = std::strpbrk (c2, "abc"); + cc1 = std::strstr (c2, "abc"); + + v1 = std::memchr (cv2, '/', 3); // { dg-error "invalid conversion" } + c1 = std::strchr (cc2, '/'); // { dg-error "invalid conversion" } + c1 = std::strrchr (cc2, 'c'); // { dg-error "invalid conversion" } + c1 = std::strpbrk (cc2, "abc"); // { dg-error "invalid conversion" } + c1 = std::strstr (cc2, "abc"); // { dg-error "invalid conversion" } + + cv1 = std::memchr (cv2, '/', 3); + cc1 = std::strchr (cc2, '/'); + cc1 = std::strrchr (cc2, 'c'); + cc1 = std::strpbrk (cc2, "abc"); + cc1 = std::strstr (cc2, "abc"); +} |