Skip to content

src: ignore maybe-uninitialized warning string_search

Currently, the following compilation warning is generated with GCC version 8.2.1:

In file included from ../src/node_buffer.cc:29:
../src/string_search.h:
In function ‘size_t node::stringsearch::SearchString(
    node::stringsearch::Vector<const Char>,
    node::stringsearch::Vector<const Char>,
    size_t) [with Char = short unsigned int]’:
../src/string_search.h:113:30: warning:
‘search’ may be used uninitialized in this function
[-Wmaybe-uninitialized]
     return (this->*strategy_)(subject, index);
            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~

../src/string_search.h:
In function ‘size_t node::stringsearch::SearchString(
    node::stringsearch::Vector<const Char>,
    node::stringsearch::Vector<const Char>,
    size_t) [with Char = unsigned char]’:
../src/string_search.h:113:30:
warning: ‘search’ may be used uninitialized in this function
[-Wmaybe-uninitialized]
     return (this->*strategy_)(subject, index);
            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~

The issue here seems to be with the strategy_ field which is a pointer to a member function, and it is set in the constructor of StringSearch. It is always set and I've not been able to work around this warning so this commit suggests adding a pragma for GCC to ignore the warning.

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

Merge request reports

Loading