Skip to content

Commit d8323c3

Browse files
std.cfg: use-retval for container member functions (#4766)
1 parent 7dde6c5 commit d8323c3

2 files changed

Lines changed: 19 additions & 2 deletions

File tree

cfg/std.cfg

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6699,11 +6699,15 @@ The obsolete function 'gets' is called. With 'gets' you'll get a buffer overrun
66996699
<not-uninit/>
67006700
</arg>
67016701
</function>
6702-
<function name="std::list::back,std::list::front,std::forward_list::front,std::queue::back,std::queue::front,std::vector::back,std::vector::front,std::array::front,std::array::back">
6702+
<function name="std::list::back,std::list::front,std::forward_list::front,std::queue::back,std::queue::front,std::vector::back,std::vector::front,std::array::front,std::array::back,std::string::front,std::string::back,std::wstring::front,std::wstring::back,std::string_view::front,std::string_view::back,std::wstring_view::front,std::wstring_view::back">
67036703
<use-retval/>
67046704
<noreturn>false</noreturn>
67056705
</function>
6706-
<function name="std::vector::at">
6706+
<function name="std::list::begin,std::list::end,std::forward_list::begin,std::forward_list::end,std::queue::begin,std::queue::end,std::vector::begin,std::vector::end,std::array::begin,std::array::end,std::string::begin,std::string::end,std::wstring::begin,std::wstring::end,std::string_view::begin,std::string_view::end,std::wstring_view::begin,std::wstring_view::end">
6707+
<use-retval/>
6708+
<noreturn>false</noreturn>
6709+
</function>
6710+
<function name="std::vector::at,std::array::at,std::string::at,std::wstring::at,std::string_view::at,std::wstring_view::at">
67076711
<use-retval/>
67086712
<noreturn>false</noreturn>
67096713
<arg nr="1">

test/cfg/std.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4205,6 +4205,19 @@ void ignoredReturnValue_string_compare(std::string teststr, std::wstring testwst
42054205
testwstr.compare(L"wtest");
42064206
}
42074207

4208+
// cppcheck-suppress constParameter
4209+
void ignoredReturnValue_container_access(std::string& s, std::string_view& sv, std::vector<int>& v)
4210+
{
4211+
// cppcheck-suppress ignoredReturnValue
4212+
s.begin();
4213+
// cppcheck-suppress ignoredReturnValue
4214+
v.end();
4215+
// cppcheck-suppress ignoredReturnValue
4216+
sv.front();
4217+
// cppcheck-suppress ignoredReturnValue
4218+
s.at(0);
4219+
}
4220+
42084221
void ignoredReturnValue_locale_global(const std::locale& loc)
42094222
{
42104223
// no ignoredReturnValue shall be shown for

0 commit comments

Comments
 (0)