With a recent trunk ( 4.3.0 20071231 (experimental) (GCC) ), I tried compiling
the following program:
#include <vector>
#include <algorithm>
using namespace std;
int main(void)
{
vector<vector<int> > v(100000);
std::sort(v.begin(), v.end());
}
With:
/usr/gccsvn/bin/g++-svn temp.cc -g -W -D_GLIBCXX_PARALLEL -fopenmp
-march=native
The resulting program generates a 'non-aligned pointer being freed' error in:
__gnu_parallel::parallel_sort_mwms_pu<__gnu_cxx::__normal_iterator<std::__cxx1998::vector<int,
std::allocator<int> >*, std::__cxx1998::vector<std::__cxx1998::vector<int,
std::allocator<int> >, std::allocator<std::__cxx1998::vector<int,
std::allocator<int> > > > >, std::less<std::__cxx1998::vector<int,
std::allocator<int> > > > ()
This could be some flaw in the way I have built things, but I can't find any
problems as of yet.
--
Summary: Parallel sort fails on darwin
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: chris at bubblescope dot net
GCC target triplet: i386-apple-darwin9.1.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34636