Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Nov 1996 16:50:55 -0500 (EST)
From:      ejci@gargoyle.bazzle.com
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   gnu/2035: STL deque bug 
Message-ID:  <199611152150.QAA15864@gargoyle.bazzle.com>
Resent-Message-ID: <199611152200.OAA19956@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         2035
>Category:       gnu
>Synopsis:       deque bug, local gnu changes to deque header improperly applied
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 15 14:00:02 PST 1996
>Last-Modified:
>Originator:     Eric J. Chet
>Organization:
>Release:        FreeBSD 3.0-CURRENT i386
>Environment:
	-current as of 11/14/96

>Description:

I found the bug in FreeBSD GNU STL version of deque.h.  Looks like a source 
file maintenance error.   

>How-To-Repeat:

#include <iostream.h>
#include <deque.h>

int
main()
{
	deque<double> a;

	for ( int i = 0 ; i < 8000 ; i++ ) 
	{
		a.push_front( i );
	}
	return 1;
}

>Fix:
	
*** deque.h.ORG	Fri Nov  8 15:36:38 1996
--- deque.h	Fri Nov  8 15:36:46 1996
*************** void deque<T>::allocate_at_begin() {
*** 437,444 ****
  	    finish = iterator(finish.current, map + map_size / 4 + i + 1);
  	} else {
  #ifdef __GNUG__
! 	map_size = map_allocator_type::init_page_size();
! 	map = map_allocator_type::allocate(map_size);
  #else
  	    *--start.node = p;
  	    start = iterator(p + __dq_buffer_size, start.node);
--- 437,446 ----
  	    finish = iterator(finish.current, map + map_size / 4 + i + 1);
  	} else {
  #ifdef __GNUG__
! //	map_size = map_allocator_type::init_page_size();
! //	map = map_allocator_type::allocate(map_size);
! 	    *--start.node = p;
! 	    start = iterator(p + __dq_buffer_size, start.node);
  #else
  	    *--start.node = p;
  	    start = iterator(p + __dq_buffer_size, start.node);


>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611152150.QAA15864>