[LLVMbugs] [Bug 8401] New: std::allocator<double>::allocator() not emitted

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Oct 17 18:40:26 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=8401

           Summary: std::allocator<double>::allocator() not emitted
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: luc_j_bourhis at mac.com
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


~> cat reduced.h 
#include <vector>

void f(std::vector<int> const &x,
       std::vector<double> y = std::vector<double>());

struct S 
{
  std::vector<int> x;

  void g();
};

~> cat reduced.cpp 
#include "reduced.h"

void S::g() { f(x); }

~> c++ --version
i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5659)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

~> c++ -c reduced.cpp 
~> nm -u reduced.o|c++filt|grep 'allocator<double>'
f(std::vector<int, std::allocator<int> > const&, std::vector<double,
std::allocator<double> >)

~> clang++ --version                               
clang version 2.9 (trunk 116689)
Target: x86_64-apple-darwin10
Thread model: posix
~> clang++ -c reduced.cpp                          
~> nm -u reduced.o|c++filt|grep 'allocator<double>'
f(std::vector<int, std::allocator<int> > const&, std::vector<double,
std::allocator<double> >)
std::allocator<double>::allocator()

The missing constructor for std::allocator<double> makes the link stage fail
where it would succeed with the object produced by g++.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list