Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/g++.dg/other/accessor-fixits-2.C @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 // { dg-options "-fdiagnostics-show-caret" } | |
2 | |
3 /* Test of accessors that return references. */ | |
4 | |
5 class t1 | |
6 { | |
7 public: | |
8 int& get_color () { return m_color; } | |
9 int& get_shape () { return m_shape; } | |
10 | |
11 private: | |
12 int m_color; | |
13 | |
14 protected: | |
15 int m_shape; | |
16 }; | |
17 | |
18 int test_access_t1_color (t1 &ref) | |
19 { | |
20 return ref.m_color; // { dg-error ".int t1::m_color. is private within this context" } | |
21 /* { dg-begin-multiline-output "" } | |
22 return ref.m_color; | |
23 ^~~~~~~ | |
24 { dg-end-multiline-output "" } */ | |
25 | |
26 // { dg-message "declared private here" "" { target *-*-* } 12 } | |
27 /* { dg-begin-multiline-output "" } | |
28 int m_color; | |
29 ^~~~~~~ | |
30 { dg-end-multiline-output "" } */ | |
31 | |
32 // { dg-message "field .int t1::m_color. can be accessed via .int& t1::get_color\\(\\)." "" { target *-*-* } .-12 } | |
33 /* { dg-begin-multiline-output "" } | |
34 return ref.m_color; | |
35 ^~~~~~~ | |
36 get_color() | |
37 { dg-end-multiline-output "" } */ | |
38 } | |
39 | |
40 int test_access_t1_shape (t1 &ref) | |
41 { | |
42 return ref.m_shape; // { dg-error ".int t1::m_shape. is protected within this context" } | |
43 /* { dg-begin-multiline-output "" } | |
44 return ref.m_shape; | |
45 ^~~~~~~ | |
46 { dg-end-multiline-output "" } */ | |
47 | |
48 // { dg-message "declared protected here" "" { target *-*-* } 15 } | |
49 /* { dg-begin-multiline-output "" } | |
50 int m_shape; | |
51 ^~~~~~~ | |
52 { dg-end-multiline-output "" } */ | |
53 | |
54 // { dg-message "field .int t1::m_shape. can be accessed via .int& t1::get_shape\\(\\)." "" { target *-*-* } .-12 } | |
55 /* { dg-begin-multiline-output "" } | |
56 return ref.m_shape; | |
57 ^~~~~~~ | |
58 get_shape() | |
59 { dg-end-multiline-output "" } */ | |
60 } | |
61 | |
62 int test_deref_t1_color (t1 *ptr) | |
63 { | |
64 return ptr->m_color; // { dg-error ".int t1::m_color. is private within this context" } | |
65 /* { dg-begin-multiline-output "" } | |
66 return ptr->m_color; | |
67 ^~~~~~~ | |
68 { dg-end-multiline-output "" } */ | |
69 | |
70 | |
71 /* { dg-begin-multiline-output "" } | |
72 int m_color; | |
73 ^~~~~~~ | |
74 { dg-end-multiline-output "" } */ | |
75 | |
76 // { dg-message "field .int t1::m_color. can be accessed via .int& t1::get_color\\(\\)." "" { target *-*-* } .-12 } | |
77 /* { dg-begin-multiline-output "" } | |
78 return ptr->m_color; | |
79 ^~~~~~~ | |
80 get_color() | |
81 { dg-end-multiline-output "" } */ | |
82 } | |
83 | |
84 int test_deref_t1_shape (t1 *ptr) | |
85 { | |
86 return ptr->m_shape; // { dg-error ".int t1::m_shape. is protected within this context" } | |
87 /* { dg-begin-multiline-output "" } | |
88 return ptr->m_shape; | |
89 ^~~~~~~ | |
90 { dg-end-multiline-output "" } */ | |
91 | |
92 | |
93 /* { dg-begin-multiline-output "" } | |
94 int m_shape; | |
95 ^~~~~~~ | |
96 { dg-end-multiline-output "" } */ | |
97 | |
98 // { dg-message "field .int t1::m_shape. can be accessed via .int& t1::get_shape\\(\\)." "" { target *-*-* } .-12 } | |
99 /* { dg-begin-multiline-output "" } | |
100 return ptr->m_shape; | |
101 ^~~~~~~ | |
102 get_shape() | |
103 { dg-end-multiline-output "" } */ | |
104 } |