title: What does the gcc warning "project parameter passing for X changed in GCC 7.1" mean?
body: <p>I have a C++ project that builds fine and without warnings with gcc 7.2 on x86 Linux and Windows, I needed to port it to an ARM device so I tried to crosscompile it with an "arm-linux-gnueabihf" gcc 7.2 that runs on my x86 machine, it builds but I get a lot of warnings of this kind</p>
  
  <pre><code>note: parameter passing for argument of type '__gnu_cxx::__normal_iterator&lt;P2d*, std::vector&lt;P2d&gt; &gt;' changed in GCC 7.1
  _M_realloc_insert(end(), __x);
  </code></pre>
  
  <p>and</p>
  
  <pre><code>/opt/armv7-gcc-2017/arm-linux-gnueabihf/include/c++/7.2.0/bits/vector.tcc:105:21: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator&lt;cpzparser::Anchor*, std::vector&lt;cpzparser::Anchor&gt; &gt;' changed in GCC 7.1
      _M_realloc_insert(end(), std::forward&lt;_Args&gt;(__args)...);
  </code></pre>
  
  <p>or</p>
  
  <pre><code>/opt/armv7-gcc-2017/arm-linux-gnueabihf/include/c++/7.2.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector&lt;cpzparser::PointEntity&gt;::iterator {aka __gnu_cxx::__normal_iterator&lt;cpzparser::PointEntity*, std::vector&lt;cpzparser::PointEntity&gt; &gt;}' changed in GCC 7.1
         vector&lt;_Tp, _Alloc&gt;::
  </code></pre>
  
  <p>the generated executable seems to work fine but I am worried by the presence of all those warnings since I have no idea of what they mean.. any clue?</p>