You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@stdcxx.apache.org by "Farid Zaripov (JIRA)" <ji...@apache.org> on 2008/07/03 12:40:45 UTC

[jira] Closed: (STDCXX-152) error instantiating std::map on an incomplete type

     [ https://issues.apache.org/jira/browse/STDCXX-152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Farid Zaripov closed STDCXX-152.
--------------------------------


Merged in 4.3.x branch thus: http://svn.apache.org/viewvc?rev=673647&view=rev
Merged in trunk thus: http://svn.apache.org/viewvc?rev=673648&view=rev

> error instantiating std::map on an incomplete type
> --------------------------------------------------
>
>                 Key: STDCXX-152
>                 URL: https://issues.apache.org/jira/browse/STDCXX-152
>             Project: C++ Standard Library
>          Issue Type: Improvement
>          Components: 23. Containers
>    Affects Versions: 4.1.2, 4.1.3, 4.1.4, 4.2.0, 4.2.1
>         Environment: all
>            Reporter: Martin Sebor
>            Assignee: Farid Zaripov
>            Priority: Critical
>             Fix For: 4.2.2
>
>   Original Estimate: 16h
>          Time Spent: 2h
>  Remaining Estimate: 14h
>
> From http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-user/200602.mbox/%3c20060215231134.6717.qmail@web82211.mail.mud.yahoo.com%3e:
>   I am trying to use Boost built using stdcxx on Solaris. I was able to build the date_time
> library but when I try to compile a test program I end up with errors related to incomplete
> types. I have narrowed the issue to the following code
>    
>   #include <map>
> #include <string>
>   using namespace std;
>   template <class T>
> struct C {
>      typedef multimap<T,C> maps;
>      typedef typename maps::value_type value_type;
> };
>    
>   int main () {
>   C<std::string> c;
> }
>   When I compile using the default Sun CC libraries or rwtools7_std or stlport4, the code
> compiles fine. But when I compile using stdcxx, I end up with the following errors.
>    
>   "/opt/idev3/dbapatla/apache-stdcxx-4.1.3/include/rw/_pair.h", line 55: Error: In this declaration
> "second" is of an incomplete type "C<std::string>".
> "/opt/idev3/dbapatla/apache-stdcxx-4.1.3/include/rw/_tree.h", line 86:     Where: While specializing
> "std::pair<const std::string, C<std::string>>".
> "/opt/idev3/dbapatla/apache-stdcxx-4.1.3/include/rw/_tree.h", line 86:     Where: Specialized
> in __rw::__rw_rb_tree_node<std::allocator<std::pair<const std::string, C<std::string>>>,
> std::pair<const std::string, C<std::string>>, std::string, __rw::__select1st<std::pair<const
> std::string, C<std::string>>, std::string>>.
> "/opt/idev3/dbapatla/apache-stdcxx-4.1.3/include/rw/_tree.h", line 259:     Where: Specialized
> in __rw::__rb_tree<std::string, std::pair<const std::string, C<std::string>>,
> __rw::__select1st<std::pair<const std::string, C<std::string>>, std::string>,
> std::less<std::string>, std::allocator<std::pair<const std::string, C<std::string>>>>.
> "/opt/idev3/dbapatla/apache-stdcxx-4.1.3/include/map", line 323:     Where: Specialized in
> std::multimap<std::string, C<std::string>, std::less<std::string>, std::allocator<std::pair<const
> std::string, C<std::string>>>>.
> "test2.cpp", line 9:     Where: Specialized in C<std::string>.
> "test2.cpp", line 13:     Where: Specialized in non-template code.
> 1 Error(s) detected.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.