OLD | NEW |
1 /* This testcase is part of GDB, the GNU debugger. | 1 /* Find the length of STRING + 1, but scan at most MAXLEN bytes. |
| 2 Copyright (C) 2005, 2009-2012 Free Software Foundation, Inc. |
2 | 3 |
3 Copyright 2009-2012 Free Software Foundation, Inc. | 4 This program is free software: you can redistribute it and/or modify |
4 | |
5 This program is free software; you can redistribute it and/or modify | |
6 it under the terms of the GNU General Public License as published by | 5 it under the terms of the GNU General Public License as published by |
7 the Free Software Foundation; either version 3 of the License, or | 6 the Free Software Foundation; either version 3 of the License, or |
8 (at your option) any later version. | 7 (at your option) any later version. |
9 | 8 |
10 This program is distributed in the hope that it will be useful, | 9 This program is distributed in the hope that it will be useful, |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 GNU General Public License for more details. | 12 GNU General Public License for more details. |
14 | 13 |
15 You should have received a copy of the GNU General Public License | 14 You should have received a copy of the GNU General Public License |
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ | 15 along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
17 | 16 |
18 struct s | 17 #ifndef _STRNLEN1_H |
19 { | 18 #define _STRNLEN1_H |
20 int a; | |
21 int b; | |
22 }; | |
23 | 19 |
24 typedef struct s TS; | 20 #include <stddef.h> |
25 TS ts; | 21 |
26 | 22 |
27 #ifdef __cplusplus | 23 #ifdef __cplusplus |
28 struct C | 24 extern "C" { |
29 { | |
30 int c; | |
31 int d; | |
32 }; | |
33 | |
34 struct D : C | |
35 { | |
36 int e; | |
37 int f; | |
38 }; | |
39 | |
40 template<typename T, int I, int C::*MP> | |
41 struct Temargs | |
42 { | |
43 }; | |
44 | |
45 Temargs<D, 23, &C::c> temvar; | |
46 | |
47 #endif | 25 #endif |
48 | 26 |
49 enum E | |
50 { v1, v2, v3 | |
51 }; | |
52 | 27 |
53 int | 28 /* Find the length of STRING + 1, but scan at most MAXLEN bytes. |
54 main () | 29 If no '\0' terminator is found in that many characters, return MAXLEN. */ |
55 { | 30 /* This is the same as strnlen (string, maxlen - 1) + 1. */ |
56 int ar[2] = {1,2}; | 31 extern size_t strnlen1 (const char *string, size_t maxlen) |
57 struct s st; | 32 _GL_ATTRIBUTE_PURE; |
| 33 |
| 34 |
58 #ifdef __cplusplus | 35 #ifdef __cplusplus |
59 C c; | 36 } |
60 c.c = 1; | |
61 c.d = 2; | |
62 D d; | |
63 d.e = 3; | |
64 d.f = 4; | |
65 #endif | 37 #endif |
66 enum E e; | |
67 | |
68 st.a = 3; | |
69 st.b = 5; | |
70 | 38 |
71 e = v2; | 39 |
72 | 40 #endif /* _STRNLEN1_H */ |
73 return 0; /* break to inspect struct and array. */ | |
74 } | |
OLD | NEW |