annotate gcc/testsuite/g++.dg/cpp0x/constexpr-strchr.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // { dg-do compile { target c++11 } }
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 constexpr const char *f1 (const char *p, int q) { return __builtin_strchr (p, q); }
kono
parents:
diff changeset
4 constexpr const char *f2 (const char *p, int q) { return __builtin_index (p, q); }
kono
parents:
diff changeset
5 constexpr const char *f3 (const char *p, int q) { return __builtin_strrchr (p, q); }
kono
parents:
diff changeset
6 constexpr const char *f4 (const char *p, int q) { return __builtin_rindex (p, q); }
kono
parents:
diff changeset
7 constexpr const char a[] = "abcdefedcba";
kono
parents:
diff changeset
8 static_assert (f1 ("abcde", 'f') == nullptr, "");
kono
parents:
diff changeset
9 static_assert (f1 (a, 'g') == nullptr, "");
kono
parents:
diff changeset
10 static_assert (f1 (a, 'f') == a + 5, "");
kono
parents:
diff changeset
11 static_assert (f1 (a, 'c') == a + 2, "");
kono
parents:
diff changeset
12 static_assert (f1 (a, '\0') == a + 11, "");
kono
parents:
diff changeset
13 static_assert (f2 ("abcde", 'f') == nullptr, "");
kono
parents:
diff changeset
14 static_assert (f2 (a, 'g') == nullptr, "");
kono
parents:
diff changeset
15 static_assert (f2 (a, 'f') == a + 5, "");
kono
parents:
diff changeset
16 static_assert (f2 (a, 'c') == a + 2, "");
kono
parents:
diff changeset
17 static_assert (f2 (a, '\0') == a + 11, "");
kono
parents:
diff changeset
18 static_assert (f3 ("abcde", 'f') == nullptr, "");
kono
parents:
diff changeset
19 static_assert (f3 (a, 'g') == nullptr, "");
kono
parents:
diff changeset
20 static_assert (f3 (a, 'f') == a + 5, "");
kono
parents:
diff changeset
21 static_assert (f3 (a, 'c') == a + 8, "");
kono
parents:
diff changeset
22 static_assert (f3 (a, '\0') == a + 11, "");
kono
parents:
diff changeset
23 static_assert (f4 ("abcde", 'f') == nullptr, "");
kono
parents:
diff changeset
24 static_assert (f4 (a, 'g') == nullptr, "");
kono
parents:
diff changeset
25 static_assert (f4 (a, 'f') == a + 5, "");
kono
parents:
diff changeset
26 static_assert (f4 (a, 'c') == a + 8, "");
kono
parents:
diff changeset
27 static_assert (f4 (a, '\0') == a + 11, "");