]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc
testsuite_hooks.h: Rewrite VERIFY in terms of __builtin_printf and __builtin_abort.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 21_strings / c_strings / char / 1.cc
CommitLineData
57df3560
SW
1// 2001-04-02 Benjamin Kosnik <bkoz@redhat.com>
2
818ab71a 3// Copyright (C) 2001-2016 Free Software Foundation, Inc.
57df3560
SW
4//
5// This file is part of the GNU ISO C++ Library. This library is free
6// software; you can redistribute it and/or modify it under the
7// terms of the GNU General Public License as published by the
748086b7 8// Free Software Foundation; either version 3, or (at your option)
57df3560
SW
9// any later version.
10
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15
16// You should have received a copy of the GNU General Public License along
748086b7
JJ
17// with this library; see the file COPYING3. If not see
18// <http://www.gnu.org/licenses/>.
57df3560
SW
19
20// 21.4: null-terminiated sequence utilities
21
22#include <string>
23#include <cstring>
57df3560 24
eea790f7 25void test01()
57df3560 26{
57df3560
SW
27 char c = 'a';
28 const char cc = 'b';
29 char* c1 = &c;
30 const char* cc1 = &cc;
31 const char* ccarray1 = "san francisco roof garden inspectors";
32 const char* ccarray2 = "san francisco sunny-day park inspectors";
4c1805d7 33 char carray[50];
eeff8d2c 34 std::strcpy(carray, ccarray1);
d4fae8b1
BK
35 void* v = carray;
36 const void* cv = ccarray1;
57df3560
SW
37
38 // const char* strchr(const char* s, int c);
39 // char* strchr(char* s, int c);
40 cc1 = std::strchr(ccarray1, 'c');
41 c1 = std::strchr(carray, 'c');
42
43 // const char* strpbrk(const char* s1, const char* s2);
44 // char* strpbrk(char* s1, const char* s2);
45 cc1 = std::strpbrk(ccarray1, ccarray2);
46 c1 = std::strpbrk(carray, ccarray2);
47
48 // const char* strrchr(const char* s, int c);
49 // char* strrchr(char* s, int c);
50 cc1 = std::strrchr(ccarray1, 'c');
51 c1 = std::strrchr(carray, 'c');
52
53 // const char* strstr(const char* s1, const char* s2);
54 // char* strstr(char* s1, const char* s2);
55 cc1 = std::strstr(ccarray1, ccarray2);
56 c1 = std::strstr(carray, carray);
57
58 // const void* memchr(const void* s, int c, size_t n);
59 // void* memchr( void* s, int c, size_t n);
60 cv = std::memchr(cv, 'a', 3);
61 v = std::memchr(v, 'a', 3);
567d4027
PC
62
63 cc1 = cc1; // Suppress unused warnings.
64 c1 = c1;
eea790f7
BK
65}
66
eea790f7
BK
67int main()
68{
69 test01();
57df3560
SW
70 return 0;
71}