This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/77268] New: Vector erase call destructor for last element twice and doesn't call destructor for eased element.
- From: "jdinardo at nycap dot rr.com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 16 Aug 2016 14:58:37 +0000
- Subject: [Bug libstdc++/77268] New: Vector erase call destructor for last element twice and doesn't call destructor for eased element.
- Authentication-results: sourceware.org; auth=none
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77268
Bug ID: 77268
Summary: Vector erase call destructor for last element twice
and doesn't call destructor for eased element.
Product: gcc
Version: 6.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: jdinardo at nycap dot rr.com
Target Milestone: ---
Created attachment 39465
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39465&action=edit
Small 33 line program which shows the problem.
Vector erase is asked to erase 3rd element of 5 element vector. The
destructor for the last(fifth) element is called twice and the destructor
for the 3rd element is not called. The 3rd element is erased but the malloced
memory is never freed. BUG 47305 seems to imply that this is ok. If that is the
case, then pleas ignore this.
VERSION - g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr
--libdir=/usr/li
Thread model: posix
gcc version 6.1.1 20160802 (GCC)
System is Arch Linux
MAKEFILE
CPPFLAGS=-g -Wall -lfltk
ALL:hello t1 v1
MAKEFILE OUTPUT - no warnings or errors
g++ -g -Wall -lfltk v1.cc -o v1
COMMAND LINE
v1
SMALL 33 LINE TEST PROGRAM
Included as attachment