This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Bug in GCC 7.1?
- From: Marc Glisse <marc dot glisse at inria dot fr>
- To: Helmut Zeisel <HZ2012 at gmx dot at>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 5 May 2017 11:51:27 +0200 (CEST)
- Subject: Re: Bug in GCC 7.1?
- Authentication-results: sourceware.org; auth=none
- References: <trinity-612cd307-d67a-4132-ab6a-2bb98582b9eb-1493976106516@3capp-gmx-bs12>
- Reply-to: gcc at gcc dot gnu dot org
(I think you are looking for gcc-help@gcc.gnu.org, or gcc's bugzilla,
rather than this mailing list)
On Fri, 5 May 2017, Helmut Zeisel wrote:
The following program gives a warning under GCC 7.1 (built on cygwin, 64 bit)
#include <vector>
int main()
{
std::vector<int> c {1,2,3,0};
while(c.size() > 0 && c.back() == 0)
{
auto sz = c.size() -1;
c.resize(sz);
}
return 0;
}
$ c++7.1 -O3 tt.cxx
Please use
$ LC_ALL=C c++7.1 -O3 tt.cxx
when you want to post the result, unless you are sending to a German
forum.
In Funktion »int main()«:
cc1plus: Warnung: »void* __builtin_memset(void*, int, long unsigned int)«: angegebene Größe 18446744073709551612 überschreitet maximale Objektgröße 9223372036854775807 [-Wstringop-overflow=]
Compiling with GCC 6.1 (c++6.1 -O3 tt.cxx) works fine.
Is this a problem of my program or a problem of GCC 7.1?
Sounds like a problem with gcc, maybe optimization creates a path that
corresponds to size==0 and fails to notice that it cannot be taken.
--
Marc Glisse