1 | // RUN: %check_clang_tidy %s bugprone-unused-return-value %t \ |
2 | // RUN: -config='{CheckOptions: \ |
3 | // RUN: {bugprone-unused-return-value.CheckedFunctions: "::*"}}' \ |
4 | // RUN: -- |
5 | |
6 | struct S1 { |
7 | S1(){}; |
8 | S1(S1 const &); |
9 | S1(S1 &&); |
10 | S1 &operator=(S1 const &); |
11 | S1 &operator=(S1 &&); |
12 | S1 &operator+=(S1); |
13 | S1 &operator++(); |
14 | S1 &operator++(int); |
15 | S1 &operator--(); |
16 | S1 &operator--(int); |
17 | }; |
18 | |
19 | struct S2 { |
20 | S2(){}; |
21 | S2(S2 const &); |
22 | S2(S2 &&); |
23 | }; |
24 | |
25 | S2 &operator-=(S2&, int); |
26 | S2 &operator++(S2 &); |
27 | S2 &operator++(S2 &, int); |
28 | |
29 | S1 returnValue(); |
30 | S1 const &returnRef(); |
31 | |
32 | void bar() { |
33 | returnValue(); |
34 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should not be disregarded; neglecting it may lead to errors |
35 | |
36 | S1 a{}; |
37 | a = returnValue(); |
38 | a.operator=(returnValue()); |
39 | |
40 | a = returnRef(); |
41 | a.operator=(returnRef()); |
42 | |
43 | a += returnRef(); |
44 | |
45 | a++; |
46 | ++a; |
47 | a--; |
48 | --a; |
49 | |
50 | S2 b{}; |
51 | |
52 | b -= 1; |
53 | b++; |
54 | ++b; |
55 | } |
56 | |